解析JSON数组

时间:2011-06-19 11:35:28

标签: java json

我的JSON是这样的:

[{
        "myviews":[{
                "2011-05-12_2011-05-14":{
                    "name":"thiswk",
                    "data":[[12,
                            2403
                        ],
                        [13,
                            2082
                        ],
                        [14,
                            5823
                        ]
                    ]
                }
            },
            {
                "2011-06-05_2011-06-7":{
                    "name":"lastwk",
                    "data":[[5,
                            1279
                        ],
                        [6,
                            6685
                        ],
                        [7,
                            2163
                        ]
                    ]
                }
            }
        ]
    }
]

    JSONObject jo = new JSONObject(jsonString);
    JSONArray ja;
    jo = jo.getJSONObject("2011-05-12_2011-05-14");
    ja = jo.getJSONArray("data");
    int resultCount = ja.length();
    for (int i = 0; i < resultCount; i++)
    {
        JSONObject resultObject = ja.getJSONObject(i);
        resultObject.getJSONArray("12");
        System.out.println("--");
    }

我无法读取“data”数组下的值。得到此错误

  

线程“main”中的异常   org.json.JSONException:一个JSONObject   文字必须以字符'{'开头   1

2 个答案:

答案 0 :(得分:8)

您正在尝试基于不代表对象的字符串创建JSONObject,而是创建包含一个对象的数组。

要获取包含的对象,请尝试

JSONArray inputArray = new JSONArray(jsonString);
JSONObject jo = inputArray.getJSONObject(0);

我认为你后来的一些工作也是错误的,但也许这会让你开始。

答案 1 :(得分:0)

data似乎是一个数组数组。也许您需要致电ja.getJSONArray(i)