Javascript 递归JSON中是否需要方括号?

Javascript 递归JSON中是否需要方括号?,javascript,json,rest,Javascript,Json,Rest,我有一个由XMLHttpRequest()创建的REST API字符串。responseText: {"value":{"patternList":"ERROR,Chase,Theater Chase,Random Colors & Locations,All Colors & Random Locations,Color Wipe,Rainbow,Rainbow Cycle,Theater Chase Rainbow,Larson Scanner,Random,Demo","M

我有一个由
XMLHttpRequest()创建的REST API字符串。responseText

{"value":{"patternList":"ERROR,Chase,Theater Chase,Random Colors & Locations,All Colors & Random Locations,Color Wipe,Rainbow,Rainbow Cycle,Theater Chase Rainbow,Larson Scanner,Random,Demo","MQUEUE":"3,4,5,6,7,8,9,10","currentPatternName":"Theater Chase"},"response":"get"}
“value”属性的值(我知道这很混乱)本身就是一个JSON对象。该字符串被分配给
result
var obj=JSON.parse(result)
失败。但是,相同的字符串在中进行验证

如果在嵌入的JSON对象周围插入方括号:

result = request.responseText;
result = result.replace(":{", ":[{");
result = result.replace("},", "}],");
var obj = JSON.parse(result);
所有这些都很好。带方括号的字符串也在上进行验证

JSON.parse()是否有问题?我正在争论是否应该将丢失的方括号作为bug报告给API提供者

谢谢,
Kevin

您不需要再次解析它

var responseText=JSON.stringify({
“价值”:{
“模式列表”:“错误、追逐、剧场追逐、随机颜色和位置、所有颜色和随机位置、颜色擦除、彩虹、彩虹周期、剧场追逐彩虹、拉森扫描仪、随机、演示”,
“MQUE”:“3,4,5,6,7,8,9,10”,
“currentPatternName”:“剧院追逐”
},
“响应”:“获取”
});
var responseJSON=JSON.parse(responseText);
var值=responseJSON.value;
var patternList=value.patternList;

警报(模式列表)数据是数组吗?如果是这样,它需要方括号。如果是单个对象,那么只需要花括号。它们不是方括号和花括号,而是方括号和大括号。方括号用于数组,花括号用于对象。两者都不是必需的,这取决于JSON表示的内容。
JSON.parse(“{”value):{”patternList:“错误、追逐、剧场追逐、随机颜色和位置、所有颜色和随机位置、颜色擦除、彩虹、彩虹周期、剧场追逐彩虹、拉尔森扫描仪、随机、演示、MQUE:“3,4,5,6,7,8,9,10”、“currentPatternName”:“剧场追逐”},“response”:“get“}”);
在控制台中工作正常。如果您还没有准备好,应该使用浏览器开发工具或fiddler检查响应是否真的是
JSON.parse()
这是失败的,或者在您解析它之后您对
obj
所做的一些事情。感谢Charlie-当值是对象时,我将其视为数组。感谢@Charlie Liang Yuan,-当值是对象时,我将其视为数组。