首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JSON中列出对象的最佳方式?

在JSON中列出对象的最佳方式?
EN

Stack Overflow用户
提问于 2017-02-15 00:37:38
回答 2查看 66关注 0票数 1

我正在努力弄清楚我在JSON中列出对象的方法是否正确/有效。我正在创建一个API,让用户以各种方式搜索引擎并获取相关信息。因此,每个“引擎”对象都有几个键/值对,每个“引擎”都是不同的。我当前的格式是:

代码语言:javascript
复制
{
    "engines": [
        {
            "name": "Ford Modular Engine 3-valve",
            "maker": "Ford",
            "cam": "SOHC"
        },
        {
            "name": "LS6",
            "maker": "Chevy",
            "cam": "OHV"
        }
    ]
}

我对这种格式的关注是访问一个特定的引擎,因为它隐藏在一个数组下。

我的另一个格式想法是这样的(但我不确定这是否是JSON对象的“适当”语法)

代码语言:javascript
复制
{
    "engines": {
        "ford3v": {
            "name": "Ford Modular Engine 3-valve",
            "maker": "Ford",
            "cam": "SOHC"
        },
        "ls6": {
            "name": "LS6",
            "maker": "Chevy",
            "cam": "OHV"
        }
    }
}

这种差异归结为个人偏好吗?什么是行业标准?

EN

回答 2

Stack Overflow用户

发布于 2017-02-15 00:40:21

在大多数情况下,选项将取决于您的要求。最好使用下面的格式,因为如果你想在html中重复这个列表,这对你来说会很容易。

代码语言:javascript
复制
{
    "engines": [
        {
            "name": "Ford Modular Engine 3-valve",
            "maker": "Ford",
            "cam": "SOHC"
        },
        {
            "name": "LS6",
            "maker": "Chevy",
            "cam": "OHV"
        }
    ]
}
票数 0
EN

Stack Overflow用户

发布于 2017-02-15 00:53:10

我选择第一个选项,因为您的搜索API暗示它将是返回的引擎对象的列表。使用JSON时,我倾向于将对象看作已知属性的键值对,因此迭代列表并知道在这些对象上查找属性以执行任何过滤更简单。

由于不知道您编写此API的具体情况,我不相信消费者知道通过您在第二个示例中提供的键/属性来查找特定的引擎,特别是如果它只是复制对象中已经存在的字段(名称)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42231488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档