2016-06-15 62 views
1

我想將字符串轉換爲json數組並對其進行迭代。將字符串轉換爲json數組與GSON

  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

獲得 「名」 屬性的值,你需要:

jsonObject.getString("name") 

所以,你的代碼應該是:

System.out.println(jsonObject.getString("name")); 
if (jsonObject.getString("name").equals(name)) { 
    System.out.println("equal"); 
} 
0

這是因爲jsonObject.get( 「名稱」)返回一個JsonElement對象。 如果您確定它是一個字符串,您可以通過

jsonObject.get("name").getAsString() 
相關問題