简体   繁体   English

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

[英]How do I console.log one value of this JSON Object?

I am new to javascript and to JSON, so please forgive me. 我是javascript和JSON的新手,请原谅我。 If I have the following JSON Object, how would I console.log() out the value of autonum? 如果我具有以下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
  }
}

Depending on which autonum you want, and assuming your variable storing the JSON is data , you'll want to do something as follows: 根据autonum ,并假设存储JSON的变量是data ,您将需要执行以下操作:

console.log(data.fields.autonum);

or 要么

console.log(data.affectedColumns[0].name);

您将使用以下代码,假设json对象称为record

console.log(record.fields.autonum);

You have two main ways of doing it. 您有两种主要的实现方式。 Both are correct ways. 两者都是正确的方法。 Lets say your object is named obj. 假设您的对象名为obj。 Use console.log as following: 使用console.log,如下所示:

  1. console.log(obj.fields.autonum)
  2. console.log(obj['fields']['autonum'])

First case is easier as compare to second case. 第一种情况比第二种情况容易。 Second case is safer as it will allow you to even take care of keys which have spaces eg 第二种情况更安全,因为它甚至可以照顾有空格的钥匙,例如

var my_other_object = {
   'Santa Clara': 'USA',
   'Toronto': 'Canada'
};

console.log(my_other_object['Santa Clara']) // Output will be 'USA'

For your understanding, in above object 'Santa Clara' and 'Toronto' are called 'keys' of my_other_object and 'USA', 'Canada' are called 'values' of those 'keys'. 为了您的理解,在上面的对象“ Santa Clara”和“多伦多”被称为my_other_object的“键”,而“美国”,“加拿大”被称为这些“键”的“值”。

So JSON object is essentially combination of key:value pairs. 因此,JSON对象本质上是key:value对的组合。

PS Never apologize while asking a question all questions are valid but it is good to always search before asking. PS在问问题时切勿道歉,所有问题都有效,但最好在问之前始终进行搜索。 Still, people are always happy to help here. 尽管如此,人们总是很乐意为您提供帮助。 We all have went through same phases. 我们所有人都经历了相同的阶段。 :) :)

Lets say your object name var data , then data.fields.autonum would give us value 121 假设您的对象名称为var data ,那么data.fields.autonum将为我们提供值121

console.log(data.fields.autonum)

Just FYI: 仅供参考:

As it is stated on MDN website: MDN网站上所述:

some JavaScript is not JSON, and some JSON is not JavaScript 有些JavaScript不是JSON,有些JSON不是JavaScript

Just in order to improve understanding of vocabulary, 'JSON Object' is not a thing in our context ... it is 只是为了增进对词汇的理解,“ JSON对象”在我们的上下文中不是问题……

a syntax for serializing objects 序列化对象的语法

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

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