質問
ここからジャクソンJSONのデータを始めたばかりです。このセクションは私にトラブルを与えています。
"pointData":{
"1":"32.1093904, 66.7065216",
"2":"33.1236854, 67.8128443",
"3":"32.9524550, 67.0013501"
}
属性名として整数を持つことは違法であるように思えます。これは正しいです?
解決
JSON属性名を整数属性にすることができないことは正しいです。なぜなら、すべてのJSON属性名はあなたのものが上にあるように引用され、文字列にする必要があるからです。こちらのフローを参照してください: http://json.org/
また、上記のJSON構造はそうです 無効 属性名で始まるが、属性が一部であるというオブジェクトはないからです。エラーが発生している場合、これが理由です。法的構造は次のとおりです。
{"pointData":{
"1":"32.1093904, 66.7065216",
"2":"33.1236854, 67.8128443",
"3":"32.9524550, 67.0013501"
}
}
参考までに、ポイントデータを保存している場合、おそらくより良い構造は次のとおりです。
{"pointData":{
"1": {"x": 32.1093904, "y": 66.7065216},
"2": {"x": 33.1236854, "y": 67.8128443},
"3": {"x": 32.9524550, "y": 67.0013501}
}
}
この構造について2つのことに注意してください。
- 各ポイントには次のとおりです
x
とy
独立してアクセス可能なプロパティ。 - の値
x
とy
プロパティは数値であり、文字列ではありません。
他のヒント
それらは整数ではなく、文字列です。それらはたまたま他のコンテキストで整数を表すために使用される文字を含む文字列であるが、それでも彼らは文字列であるため、これは有効なJSONです。から JSON仕様:
文字列は、バックスラッシュエスケープを使用して、二重引用符で包まれたゼロ以上のユニコード文字のシーケンスです。
このようなもの しないでしょう 有効なJSON:
{ 1:"32.1093904, 66.7065216",
2:"33.1236854, 67.8128443",
}
...ここでは、キャラクターが二重引用符で包まれていないため、JSONの有効なキーではないからです。
所属していません StackOverflow