JSONをデータ言語として使用してWebサービスAPIを構築しています。サービスから返されるデータの構造を設計するには、欠損値の処理方法を決定する際にいくつかの問題があります。JSONで欠損値をnullまたは全く示さない
次の例を考えてみましょう:私のWebストアには、製品がまだリリースされていない可能性があるため、価格が未知である製品があります。 price: null
(下記参照)を含めるか、この項目のprice
プロパティを単に省略しますか?
{
name: 'OSX 10.6.10',
brand: 'Apple',
price: null
}
私の主な関心事は、APIをできるだけ簡単に使用できるようにすることです。明示的なNULL値は、price
が製品に期待できることを明らかにしますが、一方では無駄なバイトのようです。この特定の製品とは全く関係のない多数のプロパティが他の製品と関連しているかもしれません - これらを明示的にnull
として表示する必要がありますか?
{
name: 'OSX 10.6.10',
price: 29.95,
color: null,
size: null
}
明示的または暗黙的なヌル値を優先するWebサービス設計には「ベストプラクティス」がありますか?デファクトスタンダード?それとも、それはユースケースに完全に依存していますか?