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

解析json问题
现在我服务器端给我的客户端返回一段json是这样的
{"result":"success",
 "building":[{"id":"4028d3f23b1b70a3013b1b7710bb0002","building_num":"五号楼"},                                                     {"id":"4028d3f63addcc95013addd69bd50007","building_num":"一号楼"}]}

即一个字符串和一个building对象,现在这个result能得到,building怎么在客户端获取?直接获取获取不到!想截取json字符串但是json格式不支持substr方法。
------解决方案--------------------
eval成对象 然后直接就可以获取到属性
------解决方案--------------------

var json = eval("("+str+")");

------解决方案--------------------

var obj = eval("(" + json + ")");
var result = obj.result;
var building = obj.building

------解决方案--------------------
如果返回的是json格式字符串的话,用jQuery解析好像要用var result = jQuery.parseJSON(data.d),这样转换出来的就是一个完整的json对象,然后你就可以用result.building获取到building这个数组。

 success : function(data){
              var result = jQuery.parseJSON(data.d);
              var arr = result.buiding;
              var len = arr.length;
              for (var i=0;i<len;i++)
              {
                  alert(arr[i].id);
                  alert(arr[i].building_num);
              }