一个json的问题

atmo 2013-05-01 04:13:06
对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的值
...全文
105 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftiger 2013-05-01
  • 打赏
  • 举报
回复
多了两个引号
ftiger 2013-05-01
  • 打赏
  • 举报
回复
{"d":"{\"msg\":\"已将目前选中完成排序\",\"yn\":\"1\"}"}
atmo 2013-05-01
  • 打赏
  • 举报
回复
alert(data.d) 结果 {"msg":"已将目前选中完成排序","yn":"1"}
atmo 2013-05-01
  • 打赏
  • 举报
回复
{"d":"{\"msg\":\"已将目前选中完成排序\",\"yn\":\"1\"}"} alert(data.d.msg)提示undefined
atmo 2013-05-01
  • 打赏
  • 举报
回复
ftiger 2013-05-01
  • 打赏
  • 举报
回复
哦,你json拼错了, var date={"d":"{"msg":1,"bb"=2}"}; // = 应当改成 :
ftiger 2013-05-01
  • 打赏
  • 举报
回复
不过猜你可能是想给出一个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));


atmo 2013-05-01
  • 打赏
  • 举报
回复
var date={"d":"{"msg":1,"bb"=2}"}; //date.d.msg 这个获取不到的
ftiger 2013-05-01
  • 打赏
  • 举报
回复
两个值有什么好想的, var date={"d":"{"msg":1,"bb"=2}"}; //date.d.msg 或 var date={"d":[1,2]}; //date.d[0]
atmo 2013-05-01
  • 打赏
  • 举报
回复
规则就是我要返回 这两个值 之后的js我需要这两个值 也就是说整个语句我就只要两个值 一个msg 一个bb 如何构造{"msg":1,"bb"=2} 使获取{"d":"{"msg":1,"bb"=2}"}中的msg 和bb最简单
似梦飞花 2013-05-01
  • 打赏
  • 举报
回复
就那样就很不错啊 对象里边套用一个对象 直接点就可以了
ftiger 2013-05-01
  • 打赏
  • 举报
回复
不明白你的业务逻辑,能不能再说清楚点,{"msg":1,"bb"=2}这一串总是要个规则吧。
atmo 2013-05-01
  • 打赏
  • 举报
回复
都放假了 ?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧