| Previous | Next |
| WEB_E_INVALID_JSON_NUMBER | E_INVALID_PROTOCOL_OPERATION |
WEB_E_JSON_VALUE_NOT_FOUND
WEB_E_JSON_VALUE_NOT_FOUND (0x83750009) identifies requested JSON member or value absent. The JSON text can be parsed, but lookup for a required property, array position, or projected value returns no match. Record network reachability, HTTP status, and parser acceptance as separate layers.
Record the lookup contract
| Lookup fact | Reason |
|---|---|
| Property name | Keep exact case and Unicode spelling. |
| Container path | Identify every object and array step leading to the lookup. |
| Requiredness | Separate optional absence from a mandatory contract violation. |
Typical causes
- The producer omitted null or default-valued members.
- Client and server use different field names or contract versions.
- The code queries the wrong object after traversing an array or nested response envelope.
High-value tests
- Log the available sibling property names safely
- Query a known mandatory field in the same object
- Test absent, explicit null, and empty string as separate cases
Close the issue
The corrected client follows the actual JSON path and handles optional absence explicitly. A regression sample should retain an absent-member case rather than treating every lookup as guaranteed.
Missing is not JSON null
Object member names are case-sensitive, array indexes are positional, and an explicit null value is still present. Record the complete lookup path and the node type reached at each segment; otherwise a wrong parent object can be mistaken for one absent leaf member.
Before changing configuration
- Confirm this is the first failure rather than a cleanup result
- Preserve the exact input or object state selected at the failure
- Identify limits, negotiation choices, or lifecycle transitions immediately before it
- Design a one-variable experiment instead of enabling broad retry or compatibility behavior
Acceptance evidence
Representation pipeline
| Stage | Evidence to retain |
|---|---|
| Producer model | Serializer, contract revision, omission, ordering, escaping, and numeric options |
| Transport bytes | Content type, charset, content encoding, declared length, and parser-visible bytes |
| Parser state | Offset, line or token path, expected construct, and actual construct |
| Projection layer | Schema, object mapper, or lookup converting XML or JSON into fields |
Normalization risks
Pretty-printing, reserialization, charset conversion, or browser copying can erase the condition producing this result; hash the original body, apply deterministic redaction, and retain both received and decompressed forms when content encoding is involved.
Focused regression corpus
- A minimal document containing no unrelated members
- A valid document at the nearest relevant boundary
- A contract-version variant showing strict or forward-compatible behavior
- A transport variant proving framing and character decoding are not hidden causes
Fix ownership
| Layer | When it owns the correction |
|---|---|
| Transport | Change framing, decompression, or character decoding only when captured bytes prove this layer altered the representation |
| Parser | Change syntax handling only when the raw token or markup violates the selected format |
| Projection | Change requiredness, path, ordering, or value conversion only after parsing succeeds |
| Producer | Correct serialization when the emitted representation contradicts the published contract |
Technical references
Looking for a different code? Search another status or error code.