JSONをJavaでプリミティブな値に解析する必要があるユースケースがあります。私はJSONに埋め込まれた有益なフィールドを持っています。これらのプリミティブ型は、ある長さの配列に追加する必要があります。任意のプリミティブ型をa Java配列に格納する
だから私はこのようないくつかのJSONを持っていることがあります。私は追加していので、私は、適切に2つのプリミティブ、1つのint型にこのJSONを解析し、しかし、値3と4を倍増するコードを書かれている
"primitives" : [
{
"valueType" : "int",
"value" : 3
},
{
"valueType" : "double",
"value" : 4
},
]
オブジェクトをJavaのInteger型とDouble型にオートボックスすることを期待するArrayListに渡します。私は通常のJava Arrayを使用することを考えましたが、同じ問題がある場合はのような要素タイプを指定する問題があります。あまりにも具体的な場合はint[]
です。
このJSONを適切なプリミティブの配列に解析できるようにするJava内の機能はありますか?
私が考えている解決策は、プロパティとしてすべての異なるプリミティブを持つオブジェクトですが、言語レベルのパスが利用可能な場合は複雑すぎるようです。
特定のタイプを知る必要があるように思われるので、どのように値を取得しますか?たとえば、 'int value1 = SomeArray [0]'、 'double value2 = SomeArray [1]'は、値の型を知る必要があるようです。 – KevinO
'Object [] arr'の問題は何ですか? –
[Jackson](https://github.com/FasterXML/jackson-core)や別のJSONパーサーを使ってみませんか?ホイールを再開発し、冗長タイプ情報をJSONに追加しています。 – elhefe