我试图从服务器返回一个字符串,该字符串将被解析为 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);
}
我做错了什么吗?上面是一个示例,但下面是实际的代码片段:
while (reader.Read())
{
if (reader["rt_id"] != DBNull.Value && reader["rt_name"] != DBNull.Value)
{
t = @"{""pValue"":""{ReportType},"+reader["rt_id"]+@""",""pText"":"""+reader["rt_name"]+@"""}";
returnContentsArray.Add(t);
}
}
returnContents = "{" + String.Join(",",returnContentsArray.ToArray()) + "}";
return returnContents;
在客户端:
var item = JSON.parse(result);
最佳答案
该字符串不是有效的 JSON。 {}
表示一个对象,需要有键。看来您想要一个数组,请使用 []
代替。
returnContents = "[" + String.Join(",",returnContentsArray.ToArray()) + "]";
关于javascript - 尝试执行 JSON.parse 但它不喜欢我对服务器返回的字符串所做的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694939/