尝试创建JSONArray时出现JSONException

Eug*_*ene 2 java json

请告诉我为什么我在尝试创建JSONArray实例时遇到异常?

String task = "{'menu': { 'id': 'file', 'value': 'File', 'popup': { 'menuitem': [ {'value': 'New', 'onclick': 'CreateNewDoc()'}, {'value': 'Open', 'onclick': 'OpenDoc()'}, {'value': 'Close', 'onclick': 'CloseDoc()'}] }}}";
        try { 
            JSONObject tmp = new JSONObject(task);
            js = tmp.getJSONArray("menuitem"); // exception fires here
        } catch(JSONException e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

获得例外

01-03 16:12:17.926: WARN/System.err(5999): org.json.JSONException: No value for menuitem
Run Code Online (Sandbox Code Playgroud)

pab*_*han 5

'menuitem'不是孩子的tmp.试试这个:

js = tmp.getJSONObject("menu").getJSONObject("popup").getJSONArray("menuitem");
Run Code Online (Sandbox Code Playgroud)