Java 如何使用JSONObject从此json中选择数据

Java 如何使用JSONObject从此json中选择数据,java,android,json,Java,Android,Json,现在我想选择数据名称和类别 在Android模拟器上显示 如何编写代码?谢谢 我想从这里你可以通过例子学习 但是,是的,Matt是对的,它不是一个有效的JSON。我认为你没有发布完整的JSON字符串 以下是一个有效的JSON字符串: { "antikguiden": { "stores":[ { "name": "Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)", "category": "

现在我想选择数据名称和类别

在Android模拟器上显示


如何编写代码?谢谢

我想从这里你可以通过例子学习


但是,是的,Matt是对的,它不是一个有效的JSON。我认为你没有发布完整的JSON字符串

以下是一个有效的JSON字符串:

{
 "antikguiden": {
   "stores":[
     {
    "name": "Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)",
     "category": "Antikaffär" },}

下面是如何在Android中解析它:

{ "antikguiden": 
    { "stores":[
        {"name": "Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)","category": "Antikaffär"}
      ]}
}
String jsonStr=上面的json字符串;
JSONObject jObject=新的JSONObject(jsonStr);
JSONObject antikguiden=jObject.getJSONObject(“antikguiden”);
JSONArray storeList=antikguiden.getJSONArray(“stores”);
对于(int i=0;i


我还没有测试它,所以可能有一两个语法错误;但这就是你的方法。

如果你的字符串与下面的一样

String jsonStr = the json string above;
JSONObject jObject = new JSONObject(jsonStr);
JSONObject antikguiden = jObject.getJSONObject("antikguiden");
JSONArray storeList = antikguiden.getJSONArray("stores");
for(int i = 0; i < storeList.length(); i++) {
    JSONObject story = storeList.getJSONObject(i);
    String name = story.getString("name");
    String category = story.getString("category");
}
str=“{'antikguiden':{'stores':[{'name':'Ninas Bruk&Brocante(Fd Isakssons Antik och Kuriosa)','category':'Antikaffär'}]}”; 试一试{ JSONObject obj=新JSONObject(str); JSONObject对象J1=obj.getJSONObject(“antikguiden”); JSONArray JSONArray=obj1.getJSONArray(“存储”); Log.v(“TEST”,“name是”+jsonarray.getJSONObject(0.get(“name”)); Log.v(“TEST”,“category是”+jsonarray.getJSONObject(0.get(“category”)); }捕获(JSONException e){ e、 printStackTrace(); }
如James所述,为了使其通用化,在获得json数组后使用循环。

这不是json。这看起来像是一个5岁小孩捣碎键盘的结果。你的
{,},[,]
到处都是。 str = "{'antikguiden':{'stores':[{'name': 'Ninas Bruk & Brocante (Fd Isakssons Antik och Kuriosa)','category': 'Antikaffär'}] }}"; try { JSONObject obj = new JSONObject(str); JSONObject obj1 = obj.getJSONObject("antikguiden"); JSONArray jsonarray = obj1.getJSONArray("stores"); Log.v("TEST","name is "+jsonarray.getJSONObject(0).get("name")); Log.v("TEST","category is "+jsonarray.getJSONObject(0).get("category")); } catch (JSONException e) { e.printStackTrace(); }