繁体   English   中英

试图做JSON.parse,但它不喜欢我从我的服务器返回的字符串做什么

[英]Trying to do JSON.parse but it doesnt like what i am doing with a returned string from my server

我试图从我的服务器返回一个字符串,该字符串将被解析为一个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()) + "]";

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

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

哪个会返回一个对象数组。 只需让用户在尝试更改javascript代码之前就可以在类似的JSONLint中验证JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM