【问题标题】:How can i list the values of a Node in JSON ?如何在 JSON 中列出节点的值?
【发布时间】:2016-08-08 11:05:04
【问题描述】:

假设,我有一个包含“主题”数组的 JSON
我需要列出所有主题的所有“created_at”值
没有其他数据,使用 Chrome 控制台

P.S : 我正在使用JSONView

【问题讨论】:

    标签: json google-chrome google-chrome-devtools


    【解决方案1】:

    您可以循环访问数组中的对象,只需访问属性created_at

    示例

    var json = {
        all_topics: [{
            "created_at:" "2016-08-08T10:22:03.123Z",
            "name": "topic1"
        }, {
            "created_at": "2016-08-08T11:43:06.963Z",
            "name": "topic2"
        }]
    }
    
    for (var topic of json.all_topics) {
        console.log(topic.created_at);
    }
    

    您可以使用 JSON.stringify 将 JavaScript 对象转换为 JSON 字符串,并使用 JSON.parse 将 JSON 字符串转换为 JavaScript 对象。

    var jsonString = JSON.stringify(json); 
    ==> {"all_topics":[{"created_at":"2016-08-08T10:22:03.123Z","name":"topic1"},{"created_at":"2016-08-08T11:43:06.963Z","name":"topic2"}]}
    
    var jsonObj = JSON.parse(jsonString);
    ==> Object {all_topics: Array[2]}
    

    或者,您可以使用 Array.prototype.map 返回具有过滤属性的新数组:

    var topics = json.all_topics.map(function(obj){ 
       return obj.created_at;
    });
    
    ==> ["2016-08-08T10:22:03.123Z", "2016-08-08T11:43:06.963Z"]
    

    【讨论】:

    • 有时 JSON 值有 { " OR ' },我不能以这种方式将它包含在变量中,而且它是大 JSON!
    • @AhmedKamal 我在答案中添加了更多细节,这可能会澄清一些事情。您需要以某种方式遍历解析后的 JSON 以获取数组中每个项目的属性,因此 JSON 越大,所需的时间就越长。如果您有其他特定问题,请提供更多关于您的问题的详细信息,并附上示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    相关资源
    最近更新 更多