将JSON数据转换为JavaScript数组

时间:2014-04-27 08:13:03

标签: javascript arrays json

我有以下JSON传入数据(注意它有逗号)。

var data = '["QUAIL, TX","QUAKER CITY, OH","QUAKER, CT","QUAKER STREET, NY"]';

现在我想将其转换为JavaScript数组,但不确定执行此操作的最佳方法是什么?我尝试过抛出异常的JSON.parse(数据),我试图通过'"''但它首先和结束都得到了错误的价值。不知道这里最好的策略是什么?

     data = JSON.stringify(data);
     data = data.split('",');

PS:我已经查看了大部分问题,但这些问题都不相关。

2 个答案:

答案 0 :(得分:1)

JSON字符串中的逗号不会导致JSON.parse()抛出异常。看到这段代码:

var a = '["QUAIL, TX","QUAKER CITY, OH","QUAKER, CT","QUAKER STREET, NY"]';
var b = JSON.parse( a );
alert( b[0] );

小提琴:http://jsfiddle.net/sTuSV/

您的代码存在不同的错误。

答案 1 :(得分:0)

这似乎有效 - 但我假设你给的是'是'你的数据结构。如果您的JSON不同,那么下面的内容将不起作用。

var data = ["QUAIL, TX","QUAKER CITY, OH","QUAKER, CT","QUAKER STREET, NY"].toString().split(',');

 //returns ["QUAIL", " TX", "QUAKER CITY", " OH", "QUAKER", " CT", "QUAKER STREET", " NY"]

如果你想摆脱空白区域:

var data = ["QUAIL, TX","QUAKER CITY, OH","QUAKER, CT","QUAKER STREET, NY"].toString().replace(/\s/g,'').split(',');
     // returns ["QUAIL", "TX", "QUAKERCITY", "OH", "QUAKER", "CT", "QUAKERSTREET", "NY"]