【问题标题】:How to access JSON values?如何访问 JSON 值?
【发布时间】:2011-07-11 13:13:32
【问题描述】:

我正在编写一个 Android 程序并且需要访问一些值。如何在 0 索引中访问雪佛兰 Volt 下的持续时间为 120。?我已经使用..将它存储在 JSONObject 中。

vech = context.getAssets().open("vec9.json");

        String s = convertStreamToString(vech);
        try {
            Vehicles = new JSONObject(s);
        } catch (JSONException e) {
            e.printStackTrace();
        }

JSON 代码...

{"root": {
"FORM": {
  "FORM_INIT": {
    "@attributes": {
      "mdd": "20",
      "cost": "2.85",
      "mpg": "24"
    }
  }
},
"VEHICLES": {
  "VEHICLE": [
    {
      "@attributes": {
        "index": "0",
        "desc": "Chevrolet Volt",
        "energy": "12",
        "sac": "72",
        "divisor": "40"
      },
      "KWH": [
        {
          "@attributes": {
            "index": "0",
            "level": "120",
            "duration": "10"
          },
          "KWH_PCT": {
            "START": [
              {
                "@attributes": {
                  "time": "0",
                  "sum_idx_0": "70",
                  "sum_idx_1": "30",
                  "sum_idx_2": "0",
                  "win_idx_0": "70",
                  "win_idx_2": "30"
                }
              },
              {
                "@attributes": {
                  "time": "1",
                  "sum_idx_0": "60",
                  "sum_idx_1": "40",
                  "sum_idx_2": "0",
                  "win_idx_0": "60",
                  "win_idx_2": "40"
                }
              },
              {
                "@attributes": {
                  "time": "2",
                  "sum_idx_0": "50",
                  "sum_idx_1": "50",
                  "sum_idx_2": "0",
                  "win_idx_0": "50",
                  "win_idx_2": "50"
                }
              },
              {
                "@attributes": {
                  "time": "3",
                  "sum_idx_0": "40",
                  "sum_idx_1": "60",
                  "sum_idx_2": "0",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "4",
                  "sum_idx_0": "30",
                  "sum_idx_1": "70",
                  "sum_idx_2": "0",
                  "win_idx_0": "30",
                  "win_idx_2": "70"
                }
              },
              {
                "@attributes": {
                  "time": "5",
                  "sum_idx_0": "20",
                  "sum_idx_1": "70",
                  "sum_idx_2": "10",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "6",
                  "sum_idx_0": "10",
                  "sum_idx_1": "70",
                  "sum_idx_2": "20",
                  "win_idx_0": "10",
                  "win_idx_2": "90"
                }
              },
              {
                "@attributes": {
                  "time": "7",
                  "sum_idx_0": "0",
                  "sum_idx_1": "70",
                  "sum_idx_2": "30",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "8",
                  "sum_idx_0": "0",
                  "sum_idx_1": "60",
                  "sum_idx_2": "40",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "9",
                  "sum_idx_0": "0",
                  "sum_idx_1": "60",
                  "sum_idx_2": "40",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "10",
                  "sum_idx_0": "0",
                  "sum_idx_1": "60",
                  "sum_idx_2": "40",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "11",
                  "sum_idx_0": "0",
                  "sum_idx_1": "60",
                  "sum_idx_2": "40",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "12",
                  "sum_idx_0": "0",
                  "sum_idx_1": "60",
                  "sum_idx_2": "40",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "13",
                  "sum_idx_0": "0",
                  "sum_idx_1": "60",
                  "sum_idx_2": "40",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "14",
                  "sum_idx_0": "10",
                  "sum_idx_1": "50",
                  "sum_idx_2": "40",
                  "win_idx_0": "10",
                  "win_idx_2": "90"
                }
              },
              {
                "@attributes": {
                  "time": "15",
                  "sum_idx_0": "20",
                  "sum_idx_1": "50",
                  "sum_idx_2": "30",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "16",
                  "sum_idx_0": "30",
                  "sum_idx_1": "50",
                  "sum_idx_2": "20",
                  "win_idx_0": "30",
                  "win_idx_2": "70"
                }
              },
              {
                "@attributes": {
                  "time": "17",
                  "sum_idx_0": "40",
                  "sum_idx_1": "50",
                  "sum_idx_2": "10",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "18",
                  "sum_idx_0": "50",
                  "sum_idx_1": "50",
                  "sum_idx_2": "0",
                  "win_idx_0": "50",
                  "win_idx_2": "50"
                }
              },
              {
                "@attributes": {
                  "time": "19",
                  "sum_idx_0": "60",
                  "sum_idx_1": "40",
                  "sum_idx_2": "0",
                  "win_idx_0": "60",
                  "win_idx_2": "40"
                }
              },
              {
                "@attributes": {
                  "time": "20",
                  "sum_idx_0": "70",
                  "sum_idx_1": "30",
                  "sum_idx_2": "0",
                  "win_idx_0": "70",
                  "win_idx_2": "30"
                }
              },
              {
                "@attributes": {
                  "time": "21",
                  "sum_idx_0": "80",
                  "sum_idx_1": "20",
                  "sum_idx_2": "0",
                  "win_idx_0": "80",
                  "win_idx_2": "20"
                }
              },
              {
                "@attributes": {
                  "time": "22",
                  "sum_idx_0": "80",
                  "sum_idx_1": "20",
                  "sum_idx_2": "0",
                  "win_idx_0": "80",
                  "win_idx_2": "20"
                }
              },
              {
                "@attributes": {
                  "time": "23",
                  "sum_idx_0": "80",
                  "sum_idx_1": "20",
                  "sum_idx_2": "0",
                  "win_idx_0": "80",
                  "win_idx_2": "20"
                }
              }
            ]
          }
        },
        {
          "@attributes": {
            "index": "1",
            "level": "240",
            "duration": "4"
          },
          "KWH_PCT": {
            "START": [
              {
                "@attributes": {
                  "time": "0",
                  "sum_idx_0": "100",
                  "sum_idx_1": "0",
                  "sum_idx_2": "0",
                  "win_idx_0": "100",
                  "win_idx_2": "0"
                }
              },
              {
                "@attributes": {
                  "time": "1",
                  "sum_idx_0": "100",
                  "sum_idx_1": "0",
                  "sum_idx_2": "0",
                  "win_idx_0": "100",
                  "win_idx_2": "0"
                }
              },
              {
                "@attributes": {
                  "time": "2",
                  "sum_idx_0": "100",
                  "sum_idx_1": "0",
                  "sum_idx_2": "0",
                  "win_idx_0": "100",
                  "win_idx_2": "0"
                }
              },
              {
                "@attributes": {
                  "time": "3",
                  "sum_idx_0": "100",
                  "sum_idx_1": "0",
                  "sum_idx_2": "0",
                  "win_idx_0": "100",
                  "win_idx_2": "0"
                }
              },
              {
                "@attributes": {
                  "time": "4",
                  "sum_idx_0": "75",
                  "sum_idx_1": "25",
                  "sum_idx_2": "0",
                  "win_idx_0": "75",
                  "win_idx_2": "25"
                }
              },
              {
                "@attributes": {
                  "time": "5",
                  "sum_idx_0": "50",
                  "sum_idx_1": "50",
                  "sum_idx_2": "0",
                  "win_idx_0": "50",
                  "win_idx_2": "50"
                }
              },
              {
                "@attributes": {
                  "time": "6",
                  "sum_idx_0": "25",
                  "sum_idx_1": "75",
                  "sum_idx_2": "0",
                  "win_idx_0": "25",
                  "win_idx_2": "75"
                }
              },
              {
                "@attributes": {
                  "time": "7",
                  "sum_idx_0": "0",
                  "sum_idx_1": "100",
                  "sum_idx_2": "0",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "8",
                  "sum_idx_0": "0",
                  "sum_idx_1": "100",
                  "sum_idx_2": "0",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "9",
                  "sum_idx_0": "0",
                  "sum_idx_1": "100",
                  "sum_idx_2": "0",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "10",
                  "sum_idx_0": "0",
                  "sum_idx_1": "100",
                  "sum_idx_2": "0",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "11",
                  "sum_idx_0": "0",
                  "sum_idx_1": "75",
                  "sum_idx_2": "25",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "12",
                  "sum_idx_0": "0",
                  "sum_idx_1": "50",
                  "sum_idx_2": "50",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "13",
                  "sum_idx_0": "0",
                  "sum_idx_1": "25",
                  "sum_idx_2": "75",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "14",
                  "sum_idx_0": "0",
                  "sum_idx_1": "0",
                  "sum_idx_2": "100",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "15",
                  "sum_idx_0": "0",
                  "sum_idx_1": "25",
                  "sum_idx_2": "75",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "16",
                  "sum_idx_0": "0",
                  "sum_idx_1": "50",
                  "sum_idx_2": "50",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "17",
                  "sum_idx_0": "0",
                  "sum_idx_1": "75",
                  "sum_idx_2": "25",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "18",
                  "sum_idx_0": "0",
                  "sum_idx_1": "100",
                  "sum_idx_2": "0",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "19",
                  "sum_idx_0": "0",
                  "sum_idx_1": "100",
                  "sum_idx_2": "0",
                  "win_idx_0": "0",
                  "win_idx_2": "100"
                }
              },
              {
                "@attributes": {
                  "time": "20",
                  "sum_idx_0": "25",
                  "sum_idx_1": "75",
                  "sum_idx_2": "0",
                  "win_idx_0": "25",
                  "win_idx_2": "75"
                }
              },
              {
                "@attributes": {
                  "time": "21",
                  "sum_idx_0": "50",
                  "sum_idx_1": "50",
                  "sum_idx_2": "0",
                  "win_idx_0": "50",
                  "win_idx_2": "50"
                }
              },
              {
                "@attributes": {
                  "time": "22",
                  "sum_idx_0": "75",
                  "sum_idx_1": "25",
                  "sum_idx_2": "0",
                  "win_idx_0": "75",
                  "win_idx_2": "25"
                }
              },
              {
                "@attributes": {
                  "time": "23",
                  "sum_idx_0": "100",
                  "sum_idx_1": "0",
                  "sum_idx_2": "0",
                  "win_idx_0": "100",
                  "win_idx_2": "0"
                }
              }
            ]
          }
        }
      ]
    },
    {
      "@attributes": {
        "index": "1",
        "desc": "Nissan Leaf",
        "energy": "24",
        "sac": "72",
        "divisor": "100"
      },
      "KWH": [
        {
          "@attributes": {
            "index": "0",
            "level": "120",
            "duration": "20"
          },
          "KWH_PCT": {
            "START": [
              {
                "@attributes": {
                  "time": "0",
                  "sum_idx_0": "35",
                  "sum_idx_1": "45",
                  "sum_idx_2": "20",
                  "win_idx_0": "35",
                  "win_idx_2": "65"
                }
              },
              {
                "@attributes": {
                  "time": "1",
                  "sum_idx_0": "30",
                  "sum_idx_1": "50",
                  "sum_idx_2": "20",
                  "win_idx_0": "30",
                  "win_idx_2": "70"
                }
              },
              {
                "@attributes": {
                  "time": "2",
                  "sum_idx_0": "25",
                  "sum_idx_1": "55",
                  "sum_idx_2": "20",
                  "win_idx_0": "25",
                  "win_idx_2": "75"
                }
              },
              {
                "@attributes": {
                  "time": "3",
                  "sum_idx_0": "20",
                  "sum_idx_1": "60",
                  "sum_idx_2": "20",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "4",
                  "sum_idx_0": "20",
                  "sum_idx_1": "60",
                  "sum_idx_2": "20",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "5",
                  "sum_idx_0": "20",
                  "sum_idx_1": "60",
                  "sum_idx_2": "20",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "6",
                  "sum_idx_0": "20",
                  "sum_idx_1": "60",
                  "sum_idx_2": "20",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "7",
                  "sum_idx_0": "20",
                  "sum_idx_1": "60",
                  "sum_idx_2": "20",
                  "win_idx_0": "20",
                  "win_idx_2": "80"
                }
              },
              {
                "@attributes": {
                  "time": "8",
                  "sum_idx_0": "25",
                  "sum_idx_1": "55",
                  "sum_idx_2": "20",
                  "win_idx_0": "25",
                  "win_idx_2": "75"
                }
              },
              {
                "@attributes": {
                  "time": "9",
                  "sum_idx_0": "30",
                  "sum_idx_1": "50",
                  "sum_idx_2": "20",
                  "win_idx_0": "30",
                  "win_idx_2": "70"
                }
              },
              {
                "@attributes": {
                  "time": "10",
                  "sum_idx_0": "35",
                  "sum_idx_1": "45",
                  "sum_idx_2": "20",
                  "win_idx_0": "35",
                  "win_idx_2": "65"
                }
              },
              {
                "@attributes": {
                  "time": "11",
                  "sum_idx_0": "40",
                  "sum_idx_1": "40",
                  "sum_idx_2": "20",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "12",
                  "sum_idx_0": "40",
                  "sum_idx_1": "40",
                  "sum_idx_2": "20",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "13",
                  "sum_idx_0": "40",
                  "sum_idx_1": "40",
                  "sum_idx_2": "20",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "14",
                  "sum_idx_0": "40",
                  "sum_idx_1": "40",
                  "sum_idx_2": "20",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "15",
                  "sum_idx_0": "40",
                  "sum_idx_1": "45",
                  "sum_idx_2": "15",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "16",
                  "sum_idx_0": "40",
                  "sum_idx_1": "50",
                  "sum_idx_2": "10",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "17",
                  "sum_idx_0": "40",
                  "sum_idx_1": "55",
                  "sum_idx_2": "5",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "18",
                  "sum_idx_0": "40",
                  "sum_idx_1": "60",
                  "sum_idx_2": "0",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "19",
                  "sum_idx_0": "40",
                  "sum_idx_1": "55",
                  "sum_idx_2": "5",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "20",
                  "sum_idx_0": "40",
                  "sum_idx_1": "50",
                  "sum_idx_2": "10",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "21",
                  "sum_idx_0": "40",
                  "sum_idx_1": "45",
                  "sum_idx_2": "15",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "22",
                  "sum_idx_0": "40",
                  "sum_idx_1": "40",
                  "sum_idx_2": "20",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              },
              {
                "@attributes": {
                  "time": "23",
                  "sum_idx_0": "40",
                  "sum_idx_1": "40",
                  "sum_idx_2": "20",
                  "win_idx_0": "40",
                  "win_idx_2": "60"
                }
              }
            ]
          }
        },
        {
          "@attributes": {
            "index": "1",
            "level": "240",
            "duration": "8"
          },
          "KWH_PCT": {
            "START": [
              {
                "@attributes": {
                  "time": "0",
                  "sum_idx_0": "87",
                  "sum_idx_1": "13",
                  "sum_idx_2": "0",
                  "win_idx_0": "87",
                  "win_idx_2": "13"
                }
              },
              {
                "@attributes": {
                  "time": "1",
                  "sum_idx_0": "75",
                  "sum_idx_1": "25",
                  "sum_idx_2": "0",
                  "win_idx_0": "75",
                  "win_idx_2": "25"
                }
              },
              {
                "@attributes": {
                  "time": "2",
                  "sum_idx_0": "63",
                  "sum_idx_1": "37",
                  "sum_idx_2": "0",
                  "win_idx_0": "63",
                  "win_idx_2": "37"
                }
              },
              {
                "@attributes": {
                  "time": "3",
                  "sum_idx_0": "50",
                  "sum_idx_1": "50",
                  "sum_idx_2": "0",
                  "win_idx_0": "50",
                  "win_idx_2": "50"
                }
              },
              {
                "@attributes": {
                  "time": "4",
                  "sum_idx_0": "37",
                  "sum_idx_1": "63",
                  "sum_idx_2": "0",
                  "win_idx_0": "37",
                  "win_idx_2": "63"
                }
              },
              {
                "@attributes": {
                  "time": "5",
                  "sum_idx_0": "25",
                  "sum_idx_1": "75",
                  "sum_idx_2": "0",
                  "win_idx_0": "25",
                  "win_idx_2": "75"
                }
              },
              {
                "@attributes": {
                  "time": "6",
                  "sum_idx_0": "13",
                  "sum_idx_1": "87",
                  "sum_idx_2": "0",
                  "win_idx_0": "13",
                  "win_idx_2": "87"
                }
           .......

【问题讨论】:

  • 您想从 JavaScript 或 Java 中读取值吗?
  • 使用 Google 的 GSON 进行 JSON 解析:code.google.com/p/google-gson
  • 您确定您的 JSON 格式正确吗?我看到您的 JSON 数组中有属性键/值对。

标签: java javascript android eclipse


【解决方案1】:

有一个很棒的使用 GSON 的教程

Take a look

【讨论】:

    【解决方案2】:

    到目前为止,您尝试了什么?

    您最终可能会使用一个库来解析数据,很可能是 Android 自带的 org.json 包。使用 JSONTokener,您可以将收到的数据解析为 JSONObject,然后深入该对象以找到您想要的确切值。

    【讨论】:

    • 我将它作为 JSONObject。什么是正确的代码来下降到对象的值 duration。
    猜你喜欢
    • 2023-03-28
    • 2012-05-10
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2018-07-06
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多