如何访问JSON对象名称/值?如何访问JSON对象名称/值?(How to access JSON

2019-05-17 07:59发布

function (data) {
    //add values based on activity type
    //data = JSON.parse(data);
    //alert(abc.Phone1);

    alert(data.myName)

    alert(data.toString());
    if (activityType == "Phone") {
    }
    return;

},

正如你所看到的这个回调函数$.ajaxJSON从控制器的数据。

例如:

[{"name":"myName" ,"address": "myAddress" }]

在这种情况下,我的第一个警报给我不确定和第二/第三警报弹出来了:

[{"name":"myName" ,"address": "myAddress" }]

我如何可以按名称访问值,使我第一次警报,填写myName这是有价值的name

Answer 1:

在JSON解析代替就可以像followng:

$.ajax({
  ..
  dataType: 'json' // using json, jquery will make parse for  you
});

要访问您的JSON的属性做如下:

data[0].name;

data[0].address;

为什么需要data[0]因为数据是一个数组,所以它的内容检索所需data[0]第一元件),它给你的对象{"name":"myName" ,"address": "myAddress" }

和访问对象的规则的属性是:

Object.property

或有时

Object["property"] // in some case

因此,你需要

data[0].name等,以得到你想要的。


如果你不

集合dataType: json ,那么你需要使用解析它们$.parseJSON()并像上面检索数据。



Answer 2:

您收到的JSON是字符串。 你必须将其转换成JSON对象时,有评论的代码中最重要的行

data = JSON.parse(data);

或者,如果你正在使用jQuery

data = $.parseJSON(data)


Answer 3:

如果你的反应是这样{'customer':{'first_name':'John','last_name':'Cena'}}

var d = JSON.parse(response);
alert(d.customer.first_name); // contains "John"

谢谢,



Answer 4:

你应该做

alert(data[0].name); //Take the property name of the first array

并不是

 alert(data.myName)

jQuery的应该能嗅出数据类型你,即使你不设置它,以便无需JSON.parse。

这里捣鼓

http://jsfiddle.net/H2yN6/



Answer 5:

试试这个代码..

function (data) {


var json = jQuery.parseJSON(data);
alert( json.name );


}


Answer 6:

我觉得你必须提到dataType: 'json'在阿贾克斯的配置和访问该值:

data[0].name


Answer 7:

这是一个友好的忠告。 使用类似Chrome开发人员工具或Firebug的 Firefox的检查你的Ajax调用和结果。

您可能还需要了解一个辅助库喜欢投资一些时间下划线 ,补充jQuery和为您提供了60+有用的功能与JavaScript的处理数据的对象。



Answer 8:

你可能想试试这个方法:

var  str ="{ "name" : "user"}";
var jsonData = JSON.parse(str);     
console.log(jsonData.name)
//Array Object
str ="[{ "name" : "user"},{ "name" : "user2"}]";
jsonData = JSON.parse(str);     
console.log(jsonData[0].name)


文章来源: How to access JSON Object name/value?