日期:2014-05-16  浏览次数:20475 次

请教下 把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)
}