我如何console.log这个JSON对象的一个​​值?

时间:2016-01-13 00:33:56

标签: javascript json

我是javascript和JSON的新手,所以请原谅我。 如果我有以下JSON对象,我将如何将console.log()输出autonum的值?

 {
  "database": "testdb",
  "table": "path",
  "affectedColumns": [
    {
      "name": "autonum",
      "charset": null,
      "type": 8
    },
    {
      "name": "TimeStamp",
      "charset": null,
      "type": 18,
      "metadata": {
        "decimals": 0
      }
    },
    {
      "name": "FilePath",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 256
      }
    },
    {
      "name": "DirPath",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 256
      }
    },
    {
      "name": "DirName",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 256
      }
    },
    {
      "name": "EventName",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 256
      }
    },
    {
      "name": "FileName",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 256
      }
    },
    {
      "name": "FileExt",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 10
      }
    },
    {
      "name": "FileSize",
      "charset": null,
      "type": 3
    },
    {
      "name": "MainFlag",
      "charset": null,
      "type": 1
    },
    {
      "name": "DeleteFlag",
      "charset": null,
      "type": 1
    },
    {
      "name": "Status",
      "charset": "latin1",
      "type": 15,
      "metadata": {
        "max_length": 255
      }
    },
    {
      "name": "ProcessedFlag",
      "charset": null,
      "type": 1
    }
  ],
  "changedColumns": [],
  "fields": {
    "autonum": 121,
    "TimeStamp": "2016-01-13T00:21:13.000Z",
    "FilePath": "c:/1E0304F120151223030158001.mp4",
    "DirPath": "c:\\",
    "DirName": null,
    "EventName": null,
    "FileName": "1E0304F120151223030158001.mp4",
    "FileExt": ".mp4",
    "FileSize": 2218108,
    "MainFlag": 0,
    "DeleteFlag": 0,
    "Status": null,
    "ProcessedFlag": 0
  }
}

4 个答案:

答案 0 :(得分:2)

根据您想要的#,并假设存储JSON的变量为autonum,您需要执行以下操作:

data

console.log(data.fields.autonum);

答案 1 :(得分:1)

假设json对象被调用record,您将使用以下代码:

console.log(record.fields.autonum);

答案 2 :(得分:1)

您有两种主要方法。两者都是正确的方法。让我们说你的对象被命名为obj。使用console.log如下:

  1. console.log(obj.fields.autonum)
  2. console.log(obj['fields']['autonum'])
  3. 与第二种情况相比,第一种情况更容易。 第二种情况更安全,因为它可以让你甚至照顾有空格的钥匙,例如

    var my_other_object = {
       'Santa Clara': 'USA',
       'Toronto': 'Canada'
    };
    
    console.log(my_other_object['Santa Clara']) // Output will be 'USA'
    

    为了您的理解,在上述对象' Santa Clara'和多伦多'被称为'键' of my_other_object和' USA',' Canada'被称为'价值观'那些'键'。

    所以JSON对象本质上是key:value对的组合。

    P.S。在提出问题时不要道歉所有问题都是有效的,但在询问之前总是先搜索是好的。尽管如此,人们总是很乐意在这里提供帮助。我们都经历了相同的阶段。 :)

答案 3 :(得分:0)

让我们说你的对象名var data,然后data.fields.autonum会给我们带来价值121

console.log(data.fields.autonum)

仅供参考:

正如MDN网站上所述:

  

某些JavaScript不是JSON,而某些JSON不是JavaScript

为了提高对词汇量的理解,JSON对象'在我们的背景下不是一件事......它是

  

序列化对象的语法