6. Converting Data between CBOR and JSON (CBOR と JSON 間のデータ変換)
6.1. Converting from CBOR to JSON (CBOR から JSON への変換)
CBOR から JSON への変換は、以下の制限を考慮する必要があります:
JSON でサポートされない CBOR 機能:
- バイト文字列 (メジャータイプ 2)
- タグ (メジャータイプ 6)
- 簡易値 (true, false, null 以外)
変換戦略:
- バイト文字列を Base64 でエンコードされたテキスト文字列に変換する MAY
- タグを無視し、タグ付きコンテンツのみを変換する MAY
- 数値精度の損失を最小限に抑える
6.2. Converting from JSON to CBOR (JSON から CBOR への変換)
JSON から CBOR への変換はより直接的です:
変換マッピング:
- JSON 数値 → CBOR 整数または浮点数
- JSON 文字列 → CBOR テキスト文字列
- JSON 配列 → CBOR 配列
- JSON オブジェクト → CBOR マップ
- JSON true/false/null → CBOR 簡易値
考慮事項:
- 整数として表現可能な数値は、整数として CBOR にエンコードする SHOULD
- 大きな整数を正確に保持する
- Unicode 文字列を UTF-8 としてエンコードする