[英]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.