Web服务数据格式-对象数组

时间:2018-10-18 09:48:47

标签: json web-services formatting

考虑一个Web服务,该服务以JSON格式提供一个对象或对象数组。例如:

/* original data */
{
    "departments": {
        "accounting": {
            "name": "Jane Doey",
            "age": "38"
        },
        "advertisement": [
            {
                "name": "Mary Elizabeth",
                "age": "22"
            },
            {
                "name": "Arthur Cobb",
                "age": "34"
            },
            {
                "name": "William Doubtfire",
                "age": "52"
            }
        ]
    }
}

在遍历此JSON时,我遍历“部门”,发现“会计”的值是代表人员的对象,而“广告”的值是由三个对象(每个人)组成的数组。所以我必须

  1. 首先检查数据类型
  2. 如果是对象,则将其视为人员
  3. 如果是数组循环,但可以在此列表中找到人员。

我现在已经在许多Web服务中看到了以前的方法。 构建JSON更好,这样即使一个部门中只有一个人员也仍然是一个数组(包含单个元素)吗?这样会容易得多,并且不需要类型检查。

/* my alternative */
{
    "departments": {
        "accounting": [
            {
                "name": "Jane Doey",
                "age": "38"
            }
        ],
        "advertisement": [
            {
                "name": "Mary Elizabeth",
                "age": "22"
            },
            {
                "name": "Arthur Cobb",
                "age": "34"
            },
            {
                "name": "William Doubtfire",
                "age": "52"
            }
        ]
    }
}

我的问题是:

我想知道这是否是设计不当的结果,还是有很强的理由这样做。有人可以解释吗?

0 个答案:

没有答案