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

发布于 2024-10-25 19:26:23 字数 262 浏览 3 评论 0原文

{
 "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" },}

Now i want to select the data name & category

to show on Android Emulator.

How can I write the code? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

带上头具痛哭 2024-11-01 19:26:23

我认为从这里您可以通过示例学习 http://www.androidcompetencycenter .com/2009/10/json-parsing-in-android/

但是,是的,马特是对的,它不是有效的 JSON

I think from here you can learn by example http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/

But, yeah, Matt is right, it's not a valid JSON

旧情勿念 2024-11-01 19:26:23

好的。我认为您没有发布完整的 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");
}

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

OK. I don't think you posted the full JSON string;

Below is a valid JSON string:

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

Below is how to parse it in 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");
}

I haven't tested it, so there might be a syntax error or two; but that's how you do it.

尝蛊 2024-11-01 19:26:23

如果你的字符串像下面这样。

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

为了使其像 James 提到的那样通用,请在获取 json 数组后使用循环。

If your string is like the one below.

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

To make it generalized as James has mentioned , use a loop, after getting json array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文