如何获取json数据

有这样一组数据

JSON数据如:{"options":{/"text/":/"王家湾/",/"value/":/"9/",/"text/":/"李家湾/",/"valu
e/":/"10/",/"text/":/"邵家湾/",/"value/":/"13/"},"option":{/"text/":/"王家湾/",/"value/":/"9/",/"text/":/"李家湾/",/"valu
e/":/"10/",/"text/":/"邵家湾/",/"value/":/"13/"},"opts":{/"text/":/"王家湾/",/"value/":/"9/",/"text/":/"李家湾/",/"valu
e/":/"10/",/"text/":/"邵家湾/",/"value/":/"13/"}}

我的需求就是获取第二级对象的值;请问怎么获取

阅读 4k
4 个回答

如果你的JSON是字符串的话,在JavaScript中你需要把它转换成一个Object对象,一般JSON.parse(jsonStr)可以将JSON字符串转换成Object对象;

例如:

var jsonData = "{/"options/":{/"id/":1,/"name/":/"zhangsan/"},/"other/":/"lisi/"}"

var obj = JSON.parse(jsonData);

// 当将普通的JSON字符串转换成Object对象后,就可以使用 **.** 属性名来获取值。

// 获取options:{id,name}数据
var options = obj.options; // 或者ojb["options"];

//  获取id数据
var id = options.id;    // 或者直接obj.options.id获取id的值
var name = options.id    

// 获取其它的数据也是相同的原理

用JQuery吧,$.get()或者$.getJSON()

不知道你的格式中有转义是贴代码的问题还是本来就转义的。如果后台传过来就是有转义,先用replace替换一下

var data = JSON.parse(data.replace('/',''));
Object.keys(data).map(function(key){
  return data[key]['value]
})//得到的这个数组就是所有value值的集合

拿到的是字符串 转成JSON格式 JSON.parse(str) 或者 eval('(' + str + ')') 然后就可以拿到了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题