gson秩序の解析jsonデータ
1337 ワード
まずgsonライブラリをプログラムに参照する
GsonのGitHubアドレス
直接使用することもできます
今のところ最新のものは、すぐに更新してください...
よしもう言わないで本題に入りなさい
これはjsonデータを直接秩序あるJsonObjectに変換して、前にfastjsonを試してみたが、無秩序な問題を解決することが見つからず(レベルが限られている)、gsonを使ってみたが、やはりgsonのほうが使いやすい.
ここまで差が少なく終わって、サーバーから戻ってきたjsonは固定されていないので、表示時にkeyもvalueも必要なので、bodyをLinkedHashMapに変換してリストに変換し、解析が秩序あることを保証します.
GsonのGitHubアドレス
直接使用することもできます
compile 'com.google.code.gson:gson:2.8.0'
今のところ最新のものは、すぐに更新してください...
よしもう言わないで本題に入りなさい
JsonObject object = (JsonObject) new JsonParser().parse(json);
JsonObject body = object.getAsJsonObject("Body");
これはjsonデータを直接秩序あるJsonObjectに変換して、前にfastjsonを試してみたが、無秩序な問題を解決することが見つからず(レベルが限られている)、gsonを使ってみたが、やはりgsonのほうが使いやすい.
ここまで差が少なく終わって、サーバーから戻ってきたjsonは固定されていないので、表示時にkeyもvalueも必要なので、bodyをLinkedHashMapに変換してリストに変換し、解析が秩序あることを保証します.
String bodyJson = body.toString();
List list = new ArrayList<>();
Gson gson = new Gson();
LinkedHashMap map = gson.fromJson(bodyJson, new TypeToken>() {
}.getType());
Iterator> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = it.next();
if (!"".equals(entry.getValue())) {
Entity entity = new Entity();
entity.mKey = entry.getKey();
entity.mValue = entry.getValue();
list.add(entity);
}
}