1

我有这个 json 字符串:

{"17":{"31":{"price":5,"oldPrice":5,"priceValue":"5.0000","type":"fixed","excludeTax":5,"includeTax":5},"29":{"price":8,"oldPrice":8,"priceValue":"8.0000","type":"fixed","excludeTax":8,"includeTax":8},"30":{"price":10,"oldPrice":10,"priceValue":"10.0000","type":"fixed","excludeTax":10,"includeTax":10}},"12":{"price":0,"oldPrice":0,"priceValue":"0.0000","type":"fixed","excludeTax":0,"includeTax":0},"11":{"price":0,"oldPrice":0,"priceValue":"0.0000","type":"fixed","excludeTax":0,"includeTax":0}}

如何使用 Prototype 将其转换为数组?我尝试了 evalJSON(),但它不起作用。

4

2 回答 2

0

内置JSON.parse应该可以做到,你不需要任何库:

var obj = JSON.parse(jsonString);
于 2012-07-25T15:20:08.603 回答
0

您的字符串不是有效的 JSON,因为它包含两个星号。删除它们并在此之后应用 evalJSON:

str.substring(1, -1).evalJSON(true);

虽然我会说你应该使用JSON.parse(或像 json2 这样的 polyfill)而不是"".evalJSON.

请注意,您将返回一个对象,而不是数组!

于 2012-07-25T15:20:28.387 回答