我用ajax,返回一个字符串,如下:
{ id:1, pId:0, name:"节点1"},{ id:2, pId:0, name:"节点2"},{ id:3, pId:0, name:"节点3"}
请问下,怎么把这个字符串转换成json,谢了~
还有一个问题
- JScript code
jQuery.ajax( { type: "post", url: "Action.ashx", //contentType: "application/x-www-form-urlencoded; charset=utf-8", //contentType: "application/json; charset=utf-8", //async: false, //是否ajax同步 dataType:"json", data: {act:"getList"}, success: function (date){ } });
当添加了dataType:"json"时,对后台返回的字符串有什么要求吗?
{ id:1, pId:0, name:"节点1"},{ id:2, pId:0, name:"节点2"},{ id:3, pId:0, name:"节点3"}
返回上面这样的字符串不行吗?
------解决方案--------------------
json的话
必须是严格的 双引号。。
{"name": "Tom"}
类似这样的。
后台返回的字符串满足了json的格式,那么 ajax 在 设置 dataType为json的情况下,其返回值就是object
直接就可以操作
success: function (date){
alert(data.id)
}
------解决方案--------------------
应该是这样吧:
[{ id:1, pId:0, name:"节点1"},{ id:2, pId:0, name:"节点2"},{ id:3, pId:0, name:"节点3"}]
你要已数组的形式返回吧。
------解决方案--------------------
需要数组
[{ "id":"1", "pId":"0", "name":"节点1"},{ "id":"1", "pId":"0", "name":"节点2"}]
success: function (date){
alert(data[0].id)
alert(data[1].id)
}