使用GSON将字符串转换为json数组

时间:2016-06-15 01:19:57

标签: java json gson

我正在尝试将字符串转换为json数组并迭代它。

            String name = "lokesh";
            String response = "[{"name":"lokesh"}, {"name":"cherukuri"}]";

            JsonArray jsonArray = gson.fromJson(response, JsonArray.class);
            for (int i = 0; i < jsonArray.size(); i++) {
                JsonObject jsonObject = jsonArray.get(i).getAsJsonObject();
                System.out.println(jsonObject.get("name"));
                if (jsonObject.get("name").toString().equals(name)) {
                    System.out.println("equal");
                }
            }

问题:由于引号,内部循环的If条件不正确。因为这一行

   System.out.println(jsonObject.get("name")); // printed "lokesh"

    and System.out.println(name); //printed lokesh

我是以错误的方式使用GSON吗?

2 个答案:

答案 0 :(得分:0)

获取&#34; name&#34;的值属性,你需要:

bernoulli()

所以,你的代码应该是:

jsonObject.getString("name")

答案 1 :(得分:0)

那是因为jsonObject.get(&#34; name&#34;)返回 JsonElement 对象。 如果你确定它是一个字符串,你可以通过

获取内容
jsonObject.get("name").getAsString()