0

我有一个像这样动态的数组项["{text: "US"}", "{text: "Mexico"}", "{text: "Brazil"}"]。我需要将此 char "{替换为 this char { and this char }" this char }。最后替换后,我需要这样的输出[{text: "US"}, {text: "Mexico"}, {text: "Brazil"}]。如果它是单个对象意味着我可以替换。但是对于数组列表没有得到。我已经尝试如下,这个不起作用如何实现这个?非常感谢。谢谢你。

dynamicSubRegions =["{text: "US"}", "{text: "Mexico"}", "{text: "Brazil"}"];
var dynamicSubRegionsFinal = dynamicSubRegions[dynamicSubRegions.indexOf('"{')] = '{';
4

2 回答 2

0

我假设,您正在尝试将string值转换为json对象。

json 键的格式存在问题,必须将其包装""JSON.parse(...)方法的有效输入,该方法可以将字符串转换为有效的 json 对象。

var array = ["{text: \"US\"}", "{text: \"Mexico\"}", "{text: \"Brazil\"}"];

array.forEach(function(value, key){
    array[key] = JSON.parse(value.replace('{text:', '{"text":'));
})

演示:小提琴

于 2013-04-18T04:46:20.153 回答
-1

您的数组语法错误并且双引号不在变量内

dynamicSubRegions =["{text: \"US\"}", "{text: \"Mexico\"}", "{text: \"Brazil\"}"];
alert(dynamicSubRegions[0]);

http://jsfiddle.net/dftgY/

于 2013-04-18T04:32:56.297 回答