我正在尝试处理来自第三方API的json文档。 返回的数据为字符串格式,并记录如下内容:
{
"response":{"field1":7,"field2":0,"records":[
{
"id":"1",
"title":["cyx"],
"doc1":["1","2"],
"doc2":["\n\t [\n\t \t\"1\",\n\t \"2\",\n\t ]\n\t "],
}]
}
当我尝试处理doc2时,它返回如下字符串:[“1”,“2”,]
,而不是像doc1的演示那样返回数组。 当我尝试使用json.parse()时,应用程序会抛出一个错误。
下面是这个问题的一个简单演示:https://jsfiddle.net/harpalshergill/39acf4dn/24/
我在想如何解析这个数组而不手动移除空格,\n,\t字符? 谢谢你的帮助。
您可以像示例中那样替换字符
var body = " {\"Warranty\": [ \n { \n \"Name\": \"test\", \n \"Type\": \"test2\", \n \"Months\": \"6\", \n }, \n { \n \"Name\": \"Test6\", \n \"Type\": \"test7\", \n \"Months\": \"6\", \n }, \n { \n \"Name\": \"test9\", \n \"Type\": \"test10\", \n \"Miles\": \"10000\", \n } \n ]} ".replace(/\r?\n|\r/g, "").replace(/\s+/g, "").replace(/,}/g,'}');
var object = JSON.parse(body);