2017-08-11 86 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