gpt4 book ai didi

web-services - 在 JSON 中将缺失值显示为 null 或根本不显示

转载 作者:行者123 更新时间:2023-12-04 15:26:25 25 4
gpt4 key购买 nike

我正在构建一个 Web 服务 API,使用 JSON 作为数据语言。设计从服务返回的数据结构时,我在决定如何处理缺失值时遇到了一些麻烦。

考虑这个例子:我的网上商店有一个产品的价格未知,可能是因为该产品尚未发布。我是否包括price: null (如下所示)或者我是否简单地省略了 price这个项目的属性?

{
name: 'OSX 10.6.10',
brand: 'Apple',
price: null
}

我主要关心的是使 API 尽可能易于使用。显式空值清楚地表明 price可以预期在产品上,但另一方面,它似乎浪费了字节。可能有一大堆属性与这个特定产品完全无关,而与其他产品相关——我是否应该明确地将这些显示为 null还有?
{
name: 'OSX 10.6.10',
price: 29.95,
color: null,
size: null
}

是否有关于 Web 服务设计的“最佳实践”,支持显式或隐式空值?任何事实上的标准?还是完全取决于用例?

最佳答案

FWIW,我的个人意见:

Do I include price: null (as shown below) or do I simply omit the price property on this item?



我会将“标准”字段的值设置为 null .尽管 JSON 经常与 JavaScript 一起使用,但可以像处理设置为 null 的属性一样处理缺失的属性,但对于其他语言(例如 Java)则不能如此。必须首先测试字段是否存在似乎不方便。将值设置为 null但是如果存在字段会更加一致。

There could be a whole bunch of properties that are completely irrelevant to this particular product, while relevant for other products – should I show these as explicitly null as well?



我只会包含与产品相关的那些字段(例如,对于 CD,不包含 pages)。正确处理这些“可选”字段是客户的任务。如果与产品相关的某个字段没有值,请将其设置为 null也。

如前所述,最重要的是保持一致并明确指定可以预期的字段。您可以使用 gzip 压缩来减小数据大小。

关于web-services - 在 JSON 中将缺失值显示为 null 或根本不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6774584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com