jsonbinpack
Version:
A space-efficient schema-driven binary JSON serialization format based on JSON Schema
58 lines (57 loc) • 1.42 kB
JSON
{
"type": "object",
"encoding": "MIXED_BOUNDED_TYPED_OBJECT",
"options": {
"propertyEncodings": {
"foo": {
"type": "string",
"encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
"options": {
"minimum": 0
}
},
"baz": {
"type": "object",
"encoding": "REQUIRED_UNBOUNDED_TYPED_OBJECT",
"options": {
"encoding": {
"type": "any",
"encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
"options": {}
},
"propertyEncodings": {
"qux": {
"type": "array",
"encoding": "FLOOR_TYPED_LENGTH_PREFIX",
"options": {
"minimum": 0,
"prefixEncodings": [],
"encoding": {
"type": "any",
"encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
"options": {}
}
}
}
},
"keyEncoding": {
"type": "string",
"encoding": "STRING_UNBOUNDED_SCOPED_PREFIX_LENGTH",
"options": {}
},
"requiredProperties": [
"qux"
],
"booleanRequiredProperties": []
}
}
},
"optionalProperties": [
"baz"
],
"requiredProperties": [
"foo"
],
"booleanRequiredProperties": []
}
}