如何在JSON对象中获取key的值

时间:2017-08-28 07:28:15

标签: java json

我有一个json文件,它会经常更新,这个例子就是这个;

{
"Meta Data": {
    "1. Information": "Intraday (60min) prices and volumes",
    "2. Symbol": "ASX:NAB",
    "3. Last Refreshed": "2017-08-28 02:00:00",
    "4. Interval": "60min",
    "5. Output Size": "Compact",
    "6. Time Zone": "US/Eastern"
},
"Time Series (60min)": {
    "2017-08-28 02:00:00": {
        "1. open": "30.3600",
        "2. high": "30.4400",
        "3. low": "30.3600",
        "4. close": "30.4000",
        "5. volume": "348096"
    },
    "2017-08-28 01:00:00": {
        "1. open": "30.3800",
        "2. high": "30.4100",
        "3. low": "30.3500",
        "4. close": "30.3500",
        "5. volume": "251213"
       }
 }

我想知道而不是打电话

  JSONObject example= (JSONObject) example2.get("2017-08-28 02:00:00") 

每当我想要来自对象的数据时,有没有办法在循环中执行此操作?动态更改.get的值?

我知道如何从对象中检索数据,我只是不知道如何在不直接将其名称放入.get的情况下调用对象。之所以会出现这样的问题,是因为对象的hundreads格式为“yyyy-MM-dd hh:mm:ss”

编辑: 我添加了以下代码

 Iterator<String> keys = example2.keys();

然而,eclipse说这是一个JSONObject的未定义方法

1 个答案:

答案 0 :(得分:0)

你可以拿到钥匙,然后循环,就像这样:

Iterator<String> keys = jsonObject.keys();
String key = keys.next(); 
String value = json.optString(key);