Javascript 正在尝试执行JSON.parse,但它与我使用服务器返回的字符串所做的不一样

Javascript 正在尝试执行JSON.parse,但它与我使用服务器返回的字符串所做的不一样,javascript,asp.net,json,Javascript,Asp.net,Json,我试图从服务器返回一个字符串,该字符串将被解析为javascript对象。不过,在解析过程中,我总是遇到一个错误。我不知道为什么。也许你知道一些我不知道的事情 我的字符串如下所示: {{"fname":"bob","lname":"jones"},{...}} 我想做的是 var item = JSON.parse(myString); 它应该是一个项目,一个名称数组,这样我就可以做如下事情: for(var i = 0; i < item.length; i++){ aler

我试图从服务器返回一个字符串,该字符串将被解析为javascript对象。不过,在解析过程中,我总是遇到一个错误。我不知道为什么。也许你知道一些我不知道的事情

我的字符串如下所示:

{{"fname":"bob","lname":"jones"},{...}}
我想做的是

var item = JSON.parse(myString);
它应该是一个项目,一个名称数组,这样我就可以做如下事情:

for(var i = 0; i < item.length; i++){
    alert(item[i].fname + " " + item[i].lname);
}
在客户端:

var item = JSON.parse(result); 

该字符串不是有效的JSON<代码>{}表示一个对象,该对象需要有键。似乎您想要一个数组,请改用
[]

returnContents = "[" + String.Join(",",returnContentsArray.ToArray()) + "]";

您需要使用正确的JSON格式。看起来您应该使用的格式是

[{"fname":"bob","lname":"jones"},{...}]

它将返回一个对象数组。只需使用户在尝试更改javascript代码之前,您可以在类似的JSONLint中验证JSON。

您应该使用真正的JSON序列化程序。啊,好的。出于某种原因,我认为“{”是定义了一个集合,比如var x={“a”、“b”、“c”},就像在大多数其他语言中一样。谢谢你提供的信息!@fallerenreaper:不客气:-)是的,JavaScript与其他语言不同:-P
[{"fname":"bob","lname":"jones"},{...}]