【问题标题】:Make query in json with Javascript [duplicate]使用Javascript在json中进行查询[重复]
【发布时间】:2015-12-04 22:35:38
【问题描述】:

是否存在使用 Javascript 在 json 中进行查询的任何方法?

特别是我在我的代码javascript中有一个json变量json,这个json是一个数据数组,每个数据有3个属性'name','city'和'age',我想检索所有数据谁叫“佩佩”。

我还想检索所有具有不同名称的数据。例如,如果我在json中有3个数据,其中两个具有相同的名称,我只想检索两个对象,我会同意不同名称的行数。

我该怎么做?

【问题讨论】:

  • 是否可以显示部分 josn 字符串来解释问题?

标签: javascript jquery arrays angularjs json


【解决方案1】:

你必须先解析你的 json 字符串:

var array = JSON.parse(yourString);

然后你可以过滤你的数组:

var matches = array.filter(function(x) { return x.name == 'pepe' });

这将为您提供一个仅包含匹配元素的新数组。如果您再次需要将结果作为 json 格式,您可以像这样将其转换回来:

var resultString = JSON.stringify(matches);

【讨论】:

    【解决方案2】:

    另外您可以使用LodashUnderscore库如下:

        var arr = [
            {
                name: 'pepe',
                city: 'first city',
                age : 19
            },
            {
                name: 'second name',
                city: 'second city',
                age : 19
            },
            {
                name: 'third name',
                city: 'third city',
                age : 19
            }
        ]
        _.find(arr, {name:'pepe'})
    

    Underscore:是一个 JavaScript 库,它提供了一个完整的混乱 有用的函数式编程助手,无需扩展任何内置 对象。

    lodash:一个提供一致性的 JavaScript 实用程序库, 模块化、性能和附加功能。

    【讨论】:

    • 使用 underscore.js 做什么?
    • 为什么要使用 underscore.js,如果 es5 为您提供了这方面的功能?
    • 这可能与你的想法有关,例如我总是从这个库之一开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多