大家好,我有一个让我困惑的问题,对不起,如果我问你一个明显的问题,但请你帮帮我..
{"value":1,"text":"first"},
{"value":2,"text":"second"},
{"value":3,"text":"third"},
{"value":4,"text":"fourth"}
...
我有一个看起来像这样的字符串,我需要解析这个字符串,当只有一行时我对JSON.parse没有问题,但有没有办法解析整个字符串?
编辑:
这是我的客户方:
$.post(path,{"loadComps":"*"},function(data){
console.log(data);
$('.dev_comp').editable({
source: data
});
});
这是我从console.log获得的内容
[
{"value":1,"text":"somename"},
{"value":2,"text":"somename"},
{"value":3,"text":"somename"},
....
{"value":1400,"text":"somename"},
{"value":1401,"text":"somename"},
]
错误日志:
jquery-1.11.3.min.js:5 GET mywebpage.com/eng/[%20%7B%22value%22:1,%22text%22:%22%20%E1%83%A1%E1 ...%E1%83%90%E1%83%AE%E1%83%90%E1%83%AB%E1%83%94%22%7D%20%20]?_ = 1464096474491 414(Request-URI Too)大)
答案 0 :(得分:0)
字符串是多行的,没有任何问题。问题是JSON字符串中的对象没有放在数组中。这样:
var myJsonString = "[{"value":1,"text":"first"},
{"value":1,"text":"first"},
{"value":3,"text":"third"},
{"value":4,"text":"fourth"} ]"
与此相同:
var myJsonString = "[{"value":1,"text":"first"}, {"value":1,"text":"first"}{"value":3,"text":"third"},{"value":4,"text":"fourth"} ];
您缺少的是JSON字符串中的对象需要放在数组[]中。如果您无法更改JSON字符串的来源以在其周围添加[]
,请在解析之前在字符串之前添加[
之前添加]
:
var myJsonString = "[" + myJsonString + "]";
var arr = JSON.parse(myJsonString);