我正在尝试将字符串转换为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吗?
答案 0 :(得分:0)
获取&#34; name&#34;的值属性,你需要:
bernoulli()
所以,你的代码应该是:
jsonObject.getString("name")
答案 1 :(得分:0)
那是因为jsonObject.get(&#34; name&#34;)返回 JsonElement 对象。 如果你确定它是一个字符串,你可以通过
获取内容jsonObject.get("name").getAsString()