0

我的 JSON 对象具有以下结构:

{ key :
[
{keya1:value1,
keya2:value2,
keya3:[value31,value32...]
keya4:value4
},
{keyb1:value1,
keyb2:value2,
keyb3:[value31,value32...]
keyb4:value4
},
...
..
{keys1:value1,
keys2:value2,
keys3:[value31,value32...]
keys4:value4
}
]
}

我尝试使用简单的 json.parse 但它不起作用。有了这样的结构,我应该如何进行解析,以便我可以安全地遍历 key 的每个实例并显示所有 keya-valuea、keyb-valueb .. 键值对?非常感谢!

编辑:我实际上故意省略了引号。原始 JSON 数据在键和值周围有引号。抱歉,我之前没有提到它。

4

3 回答 3

2

尝试使用 getJsonArray

JSONObject json = (JSONObject) JSONSerializer.toJSON(response);

JSONArray array= json.getJSONArray("key");

getString("key");在适用的情况下

于 2013-01-16T08:29:15.020 回答
0

您的 JSON 无效,您需要在数组后使用双引号和逗号,当您有正确的 JSON 时,您可以使用JSON.parse

{ "key" :
        [{
          "keya1":"value1",
          "keya2":"value2",
          "keya3":["value31","value32..."],
          "keya4":"value4"
         },
         {
          "keyb1":"value1",
          "keyb2":"value2",
          "keyb3":["value31","value32..."],
          "keyb4":"value4"
         },
         {
          "keys1":"value1",
          "keys2":"value2",
          "keys3":["value31","value32..."],
          "keys4":"value4"
         }
    ]
}
于 2013-01-16T08:43:42.567 回答
0

尝试引用每个键和值:

var str = '{ key : \
    [ \
        {\
            keya1:value1, \
            keya2:value2, \
            keya3:[value31,value32], \
            keya4:value4 \
        }, \
        {\
            keyb1:value1, \
            keyb2:value2, \
            keyb3:[value31,value32], \
            keyb4:value4 \
        }, \
        {\
            keys1:value1, \
            keys2:value2, \
            keys3:[value31,value32], \
            keys4:value4 \
        } \
    ] \
}';

var pattern=/(\w+\d*)/ig;
var json=str.replace(pattern, '"$1"');
var parsedJSON=JSON.parse(json)
console.log(parsedJSON);

我希望这有帮助。

于 2013-01-16T08:53:42.540 回答