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

时间:2017-02-14 16:37:38

标签: javascript json

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

{
    "engines": [
        {
            "name": "Ford Modular Engine 3-valve",
            "maker": "Ford",
            "cam": "SOHC"
        },
        {
            "name": "LS6",
            "maker": "Chevy",
            "cam": "OHV"
        }
    ]
}

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

我有另一种格式的想法是这个(但我不确定这是否是"正确的" JSON对象的语法)

{
    "engines": {
        "ford3v": {
            "name": "Ford Modular Engine 3-valve",
            "maker": "Ford",
            "cam": "SOHC"
        },
        "ls6": {
            "name": "LS6",
            "maker": "Chevy",
            "cam": "OHV"
        }
    }
}

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

2 个答案:

答案 0 :(得分:0)

在最多情况下,选项将符合您的要求。最好使用以下格式,因为如果你想重复html中的列表,它会很容易。

{
    "engines": [
        {
            "name": "Ford Modular Engine 3-valve",
            "maker": "Ford",
            "cam": "SOHC"
        },
        {
            "name": "LS6",
            "maker": "Chevy",
            "cam": "OHV"
        }
    ]
}

答案 1 :(得分:0)

我会选择第一个选项,因为您的搜索API意味着它将是一个返回的引擎对象列表。使用JSON,我倾向于将对象视为已知属性的键值对,因此迭代列表并知道在这些对象上查找属性以进行任何过滤更为直接。

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