2017-08-11 83 views
0

這是我的Json字符串,我試圖獲取Entity.I的價值,我是使用JSON的初學者。如何從JSON字符串獲取實體的值

[ 
    { 
     "_id": "john", 
     "preferences": [ 
      { 
       "Entity": [ 
        "IBM", 
        "Pfizer" 
       ] 
      }, 
      { 
       "Topic": "Pharma" 
      } 
     ] 
    } 
] 

任何人都可以幫助我嗎?

+1

希爾帕,那你試試。你看過JsonSimple還是GSON來解析這個問題?請嘗試使用它們並解析它。 –

+1

如果您搜索JSON解析,則有大量可用資源。 –

+0

請嘗試解釋您的問題究竟是什麼?您是否試圖通過Android或其他技術解析? –

回答

-2

只是這樣做

var response = '[{"_id": "john","preferences": [{"Entity": ["IBM","Pfizer"]},{"Topic": "Pharma"}]}]'; var obj = JSON.parse(response); console.log(obj);

爲了獲取實體

console.log(obj[0]['preferences'][0]['Entity']); 
+1

目標語言是JAVA而不是JavaScript –

0

您可以使用gson庫。如果您的輸入是JSON字符串,則首先需要使用JsonParser對象進行解析,該對象返回JsonElement,該對象將被轉換爲JsonArray,因爲輸入Json是一個數組。然後使用get(0)從中提取第一個對象,然後將其轉換爲JsonObject,將preferences元素提取爲JsonArray,並按照類似的步驟獲取Entity

 String jsonString = "[" + 
      " {" + 
      "  \"_id\": john," + 
      "  \"preferences\": [" + 
      "   {" + 
      "    \"Entity\": [" + 
      "     IBM," + 
      "     Pfizer" + 
      "    ]" + 
      "   }," + 
      "   {" + 
      "    \"Topic\": Pharma" + 
      "   }" + 
      "  ]" + 
      " }" + 
      "]"; 

    JsonArray jsonArray = new JsonParser().parse(jsonString).getAsJsonArray(); 

    JsonArray preferences = jsonArray.get(0).getAsJsonObject().get("preferences").getAsJsonArray(); 
    JsonArray entity = preferences.get(0).getAsJsonObject().get("Entity").getAsJsonArray(); 
0
import org.json.*; 


JSONObject obj = new JSONObject(" .... "); 
String pageName = obj.getJSONObject("pageInfo").getString("pageName"); 

JSONArray arr = obj.getJSONArray("posts"); 
for (int i = 0; i < arr.length(); i++) 
{ 
    String post_id = arr.getJSONObject(i).getString("post_id"); 
    ...... 
} 

也許它可以幫助你:Parse JSON in Java