简单的json解析问题,请高手

{"ok":true,"ds":[{"ID":"10","U_name":"linjinshi","U_pwd":"0","U_realname":"锦实","Bm_id":"304","U_tel":"0415-3853325","U_level":"R_10","U_state":"S_1","U_addtime":"2014/11/13 10:59:38","U_title":"","U_desc":"","U_pic":""}]}

上面的串,我赋值给zj ,然后alert(zj.ds); 为什么总提示undefined

没有定义就是说没赋值成功

你怎么赋值的 给代码看下

改作alert(zj.ds.toString());试试

 a = zj.parseJSON();
a.ds

我在google chrome浏览器下的 console中测试了下 没有问题。虽然显示undefined,但是值是可以取出来的。

 var zj = {"ok":true,"ds":[{"ID":"10","U_name":"linjinshi","U_pwd":"0","U_realname":"锦实","Bm_id":"304","U_tel":"0415-3853325","U_level":"R_10","U_state":"S_1","U_addtime":"2014/11/13 10:59:38","U_title":"","U_desc":"","U_pic":""}]};
undefined
zj
Object {ok: true, ds: Array[1]}
zj.ds
[Object]
zj.ds.ID
undefined
zj.ds[0].ID
"10"
alert(zj.ds)     // 会提示。点击确定后输出undefined
undefined

你试试这种方法 Com cp = new Com();cp.ID=10;cp.Uname=linjinshi;......... System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); string ttjson = js.Serialize(cp);
Context.Response.Write(ttjson);

这么多参数,为什么不用序列化呢?

赋值的内容是json对象还是json格式的字符串?字符串当然没有ds属性,要转为对应的json对


    var zj = '{"ok":true,"ds":[{"ID":"10","U_name":"linjinshi","U_pwd":"0","U_realname":"锦实","Bm_id":"304","U_tel":"0415-3853325","U_level":"R_10","U_state":"S_1","U_addtime":"2014/11/13 10:59:38","U_title":"","U_desc":"","U_pic":""}]}';
    zj=eval('('+zj+')')
    alert(zj.ds.length)
    alert(zj.ds[0].U_name)

你一定还没有定义吧?怎么可能赋值成功?

eval这个函数,试试!!