繁体   English   中英

无法在JAvascript中访问JSON响应变量

[英]Having trouble accessing variables of JSON response in JAvascript

我正在使用AJAX调用来调用API,然后处理响应以准备输出。 唯一的问题是,我似乎无法访问响应对象内部的数组,而且我一生无法弄清楚原因。 这似乎只是一件基本的事情,但是当我尝试直接调用特定的响应值并将其记录在控制台中时,它显示为未定义。

这是我的回应对象:

{
    format: "small",
    _links: {
        self: {
            href: "http://www-*******.net/v1/trading/exchange"
        }
},
    _embedded: {
        exchangeData: [  
                server: {
                     time: "10:01",
                     date: "08.12.2014"
                },
                expert: {
                quantity: "48,069",
                country: {
                ..................

现在,我要访问的变量是“专家”对象的“数量”值。 我认为这将是获得它的方法:

response._embedded.exchangeData['expert'].quantity

这个对吗? 它没有返回任何值,我认为这通常是一件很简单的事情。 谢谢

在JSON中,括号[]用于数组。 例如,您可能具有["a", "b", "c"] ,您可以使用数字偏移量来访问它们,例如response[1]

花括号{}用于对象(类似于其他语言的哈希表),例如{"first": "a", "second": "b", "third": "c"} ,您可以通过引用来访问该属性的名称,例如response.first

表示法非常简单, 请参见此处的规范

在这种情况下,您应该将JSON源修复为:

{
    "_embedded": {
        "exchangeData": { 
            "server": {
                 "time": "10:01",
                 "date": "08.12.2014"
            },
            "expert": {
                "quantity": "48,069",
                "country": {

请注意,exchangeData之后的字符现在是花括号,而不是常规括号。 然后,您可以通过以下方式访问它:

response._embedded.exchangeData.expert.quantity

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM