对json不熟悉  下面的代码
{"d":"{"msg":1,"bb"=2}"}
其中 {"msg":1,"bb"=2} 是我自己可以改变任何形式的,也就是前面的{"d":""}这个是固定的形式我想用js访问它 var date={"d":"{"msg":1,"bb"=2}"};我想用一个语句直接获取msg的值 ,比如 data.d.msg 或者其他的一个语句{"msg":1,"bb"=2} 应该改成什么样的比较方便直接获取到msg的值

解决方案 »

  1.   

    不明白你的业务逻辑,能不能再说清楚点,{"msg":1,"bb"=2}这一串总是要个规则吧。
      

  2.   

    规则就是我要返回 这两个值  之后的js我需要这两个值也就是说整个语句我就只要两个值 一个msg 一个bb 如何构造{"msg":1,"bb"=2}使获取{"d":"{"msg":1,"bb"=2}"}中的msg 和bb最简单
      

  3.   

    两个值有什么好想的,
    var date={"d":"{"msg":1,"bb"=2}"}; //date.d.msg或
    var date={"d":[1,2]}; //date.d[0]
      

  4.   

    var date={"d":"{"msg":1,"bb"=2}"}; //date.d.msg 这个获取不到的
      

  5.   

    不过猜你可能是想给出一个map,想方便的使用map的key 和value的话,那这样
    function mapKeys(map){
       var result=[];
       for(var key in map ){
          result.push(key);
       }
       return result;
    }function mapValue(map,key){
       return map[key] || map[mapKeys(map)[key]];
    }var data={"d":{"msg":1,"bb":2}}; 
    alert(mapKeys(data.d)[0]);
    alert(mapValue(data.d, "msg"));
    alert(mapValue(data.d, 1));
      

  6.   

    哦,你json拼错了,
    var date={"d":"{"msg":1,"bb"=2}"}; // = 应当改成 :
      

  7.   

    {"d":"{\"msg\":\"已将目前选中完成排序\",\"yn\":\"1\"}"}alert(data.d.msg)提示undefined
      

  8.   

    alert(data.d) 结果 {"msg":"已将目前选中完成排序","yn":"1"}
      

  9.   

    {"d":"{\"msg\":\"已将目前选中完成排序\",\"yn\":\"1\"}"}