私はそのようなJSON文字列を取得:Gsonを使用してこのJSONを解析するクラスを定義するにはどうすればよいですか?
{
"cars": {
"ford": {
"length": 4460,
"weight": 1450
},
"jeep": {
"length": 4670,
"weight": 1880
},
"toyota": {
"length": 3830,
"weight": 1120
},
.
.
.
"audi": {
"length": 5288,
"weight": 2432
},
"subaru": {
"length": 4755,
"weight": 1790
},
"count": 128
}
}
私はGsonを使用して、このJSONを解析するためにJavaクラスを定義してみてください。
public class CarSize {
public int length;
public int weight;
}
public class JSONData {
public Map<String, CarSize> cars;
}
問題がcars
であるが、それは"count":128
と128
CarSize
ではありませんがあり、純粋なマップではありません。 JSONをどのように解析できますか?
JSONのソース文字列を変更することはできません。しかし、私はそれがMap<String, CarSize> cars
のサイズであることを知っているので、 "カウント"プロパティを無視することはOKです。
アレックスありがとう。しかし私はGsonを使用しています。 Gsonには 'ObjectMapper 'はありません。 –
私の悪い!あなたのモデルをどのように定義すべきかについてはまだ議論の余地があります。 Gsonの場合は – alexbt
、Gsonの場合は次のように更新します。 Gson gson = new Gson(); 車の車= gson.fromJson(json、Cars.class); // jsonはあなたのjson文字列です –