我有以下JSON传入数据(注意它有逗号)。
var data = '["QUAIL, TX","QUAKER CITY, OH","QUAKER, CT","QUAKER STREET, NY"]';
现在我想将其转换为JavaScript数组,但不确定执行此操作的最佳方法是什么?我尝试过抛出异常的JSON.parse(数据),我试图通过'"''但它首先和结束都得到了错误的价值。不知道这里最好的策略是什么?
data = JSON.stringify(data);
data = data.split('",');
PS:我已经查看了大部分问题,但这些问题都不相关。
答案 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"]