简体   繁体   English

如何访问 JSON 值?

[英]How to access JSON values?

Im writing an Android program and need to access some values.我正在编写一个 Android 程序并且需要访问一些值。 How would I access Duration Under the Chevorlet Volt in the 0 index for 120.?如何在 0 索引中访问雪佛兰 Volt 下的持续时间为 120。? I already have it stored in a JSONObject using..我已经使用..将它存储在 JSONObject 中

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

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

JSON code... 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"
                }
           .......

What have you tried so far?你试过什么了?

You will probably end up parsing the data with a library, most likely the org.json package that already comes with Android.您最终可能会使用库来解析数据,很可能是Android附带的 org.json package。 Using the JSONTokener, you can parse the data you receive into a JSONObject, then descend into that object to find the exact values that you want.使用 JSONTokener,您可以将收到的数据解析为 JSONObject,然后深入到该 object 以找到您想要的确切值。

There is a terrific tutorial for that using GSON有一个很棒的教程使用 GSON

Take a look 看一看

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM