从JSON对象获取数组键值

时间:2018-03-12 10:43:05

标签: jquery json object

我有一个JSON对象,如下所示

JSON.stringify(obj)

结果:

{
  "e": {
    "name": "tushar",
    "id": "123",
    "tag": {}
  }
}

现在我需要来自上面对象的名字和id。如何从JSON对象获取数组键值?

dp.onEventClick = function(args) {

                 console.log(JSON.stringify(args.e.name));


            };

这是我的功能。

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找JSON.parse()而不是?

您可以使用以下代码执行此操作:

server.create()

答案 1 :(得分:0)

您是否尝试过使用:JSON.stringify(obj.e.name)

console.log(JSON.stringify(obj.e))会给你:

{
    "name": "tushar",
    "id": "123",
    "tag": {}
}

console.log(JSON.stringify(obj.e.name))会为您提供所需的输出:tushar等等。

var object = JSON.parse('{"e":{"name":"tushar","id":"123","tag":{}}}');
console.log(object.e.name);

您收到的数据类型:

var args = JSON.parse('{"e":{"name":"tushar","id":"123","tag":{}}}');
console.log(typeof(args.e));
obj = JSON.stringify(args.e);
console.log(typeof(obj));

你不能这样做:

var args = JSON.parse('{"e":{"name":"tushar","id":"123","tag":{}}}');
var obj = JSON.stringify(args.e); // Here obj is a string
console.log(obj.name); // You cant do like this

因为现在obj不是对象,所以它的字符串!!! 所以你不会在console.log(obj.name);

上得到名字

检查以下代码:

var args = JSON.parse('{"e":{"name":"tushar","id":"123","tag":{}}}');
obj = args.e; // Here obj is also an object.
console.log(obj.name); // so we will get name from obj

JSON.stringify()将对象变为字符串。

希望你能解决你正在做的事情。

答案 2 :(得分:0)

  var xmlhttp = new XMLHttpRequest();

  xmlhttp.onreadystatechange=function(){
    if(this.readyState==4 && this.status==200){
      var data=JSON.parse(xmlhttp.responseText);
      console.log(data.e);
      console.log(data.e.name);
      console.log(data.e.id);
    }
  };

  xmlhttp.open('GET','a.json',true);
  xmlhttp.send();

和a.json文件

{ "e":{ "name":"tushar", "id":"123", "tag":{} } }