Blockchain RPC responses typically arrive as JSON. After `json.loads`, validate shape before trusting values, since malformed or partial data is common.
python
import json
def parse_block(raw: str) -> dict:
data = json.loads(raw)
required = {"number", "hash", "transactions"}
missing = required - data.keys()
if missing:
raise ValueError(f"missing fields: {missing}")
return dataHex-encoded quantities (e.g. `"0x1a"`) are common in RPC payloads; convert with `int(value, 16)`. Always guard against `KeyError`/`json.JSONDecodeError` when parsing external data rather than assuming well-formed input.