请教下 把sting转json的问题~
我用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)
}