如何使用Gson解析Java对象并获​​取每个元素的值?

时间:2017-02-20 14:57:14

标签: java arrays json parsing gson

title = u.getOrganizations();
Gson gson = new Gson();
String jsonItems = gson.toJson(title);  
System.out.println(jsonItems);
if(jsonItems.length() >0 && !jsonItems.equalsIgnoreCase(null)){
    JSONArray jObj = new JSONArray(jsonItems);
    System.out.println(jObj.toString());
}

当前输出:

[{"name":"ABCD","title":"Test Specialist","primary":true,"customType":"Work"}]

预期输出:

name: ABCD
title: Test Specialist
primary: true
customType: Work

这对我来说是新的,尝试过的在线资源无法得到我的意图,非常感谢你的帮助..谢谢!

2 个答案:

答案 0 :(得分:0)

我使用了相同的但是使用了列表,我不知道它是否也能正常工作。使用列表,你有对象列表,我创建列表,我创建对象并将其添加到列表,最后gson.toJson(listaObjects)将其转换为Json。解析它我只做

Gson gson = new Gson();
    Type type = new TypeToken<List<ProvinciaDTO>>() {
    }.getType();
objectsList= new Gson().fromJson(listaJSonString, type);

//foreach of objectsList

对于数组: 投票 公认 您的json字符串是一个包含一个元素的数组

 JsonArray jsonArray= new          JsonParser().parse(jsonString).getAsJsonArray();
JsonObject jsonObject = (JsonObject) jsonArray.get(0);
System.out.println("title :"+jsonObject.get("title"));

答案 1 :(得分:0)

您的json字符串是一个包含一个元素的数组

String jsonString =你的json

            JsonArray jsonArray= new JsonParser().parse(jsonString).getAsJsonArray();
            JsonObject jsonObject = (JsonObject) jsonArray.get(0);
            System.out.println("title :"+jsonObject.get("title"));

等...