Javascript 使用Prototype将字符串转换为JSON数组?

Javascript 使用Prototype将字符串转换为JSON数组?,javascript,prototypejs,Javascript,Prototypejs,我有一个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,"pric

我有一个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(),但它不起作用。

内置应该可以,您不需要任何库:

var obj = JSON.parse(jsonString);

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

str.substring(1, -1).evalJSON(true);
尽管我认为你应该使用(或者像json2这样的多边形填充)而不是


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

为什么需要阵列?作为对象访问它很容易。我如何作为对象访问它?如果它是字符串,则不能。您必须使用JSON解析器对其进行反序列化。将字符串转换为JSON数组。。。这个标题毫无意义。你在尝试解析JSON吗?可能是有人编辑了我的文章的副本,我把它放在*中,但编辑没有删除它们。:)