如何使用JSONObject从这个json中选择数据

时间:2011-03-25 09:19:53

标签: java android json

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

现在我要选择数据名称&类

在Android模拟器上显示。

我该如何编写代码?谢谢。

3 个答案:

答案 0 :(得分:0)

我想从这里你可以通过例子http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/

学习

但是,是的,Matt是对的,它不是一个有效的JSON

答案 1 :(得分:0)

行。我认为你没有发布完整的JSON字符串;

以下是有效的JSON字符串:

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

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

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");
}

我还没有测试过,所以可能会出现一两个语法错误;但你就是这样做的。

答案 2 :(得分:0)

如果您的字符串与下面的字符串类似。

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();
        }

为了使它像詹姆斯提到的那样推广,在获得json数组后使用循环。