私はHashMapを解析しようとしているJSON文字列を持っています。JSONからHashMapまでのGson <Integer、MyObject> IntegerはJSONオブジェクトの内部にあります
私のオブジェクトは次のようになります。
public class MyObject {
private int id;
private String text;
}
とJSON文字列は次のようになります。
objects:[
{"id":1, "text":"firsttext"},
{"id":2, "text":"secondtext"},
{"id":3, "text":"thirdtext"}
]
にはどうすればいいのHashMap <整数、MyObjectににこれを解析する程度きれいに行くだろう>となるようHashMap.get(2)を呼び出すと、「secondtext」を含む配列の2番目のオブジェクトが返されます。今私がやっている
は
Type integerStringMap = new TypeToken<Map<Integer, MyObject>>(){}.getType();
HashMap<Integer, MyObject> objects = new Gson().fromJson(content, integerStringMap);
あるしかし、私はjava.lang.NumberFormatExceptionを取得しています: "ID":入力文字列の場合。
私はループなしでこれを解決する方法として非常に無知だと私は本当にこれを行うためにもっと巧妙な方法が望んでいる。助けていただければ幸いです!
編集:ここでは、私が欲しいものを行うコードの抜粋です:
Type integerObjectList = new TypeToken<List<MyObject>>(){}.getType();
List<MyObject> cardList = new Gson().fromJson(jsonString, integerObjectList);
HashMap<Integer, MyObject> cardMap = new HashMap<Integer, MyObject>();
for (MyObject o : objectList) {
objectMap.put(o.getId(), o);
}
私は考えのためのループせずにそれを行うことが可能たい場合。
は、[この](http://www.leveluplunch.com/java/examples/convert-json-to-from-map-jackson/)を見てください。 –