] Представление отсутствующих значений как нулевых или отсутствующих в JSON

Я создаю API веб-службы, используя JSON в качестве языка данных. При разработке структуры данных, возвращаемых службой, у меня возникли некоторые проблемы с принятием решения о том, как поступить с отсутствующими значениями.

Рассмотрим этот пример: у меня есть продукт в моем интернет-магазине, цена на который еще неизвестна, возможно, потому что продукт еще не выпущен. Включу ли я price: null (как показано ниже) или просто опущу свойство price для этого элемента?

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

Моя основная задача - сделать API настолько простым в использовании, насколько возможное. Явное нулевое значение проясняет, что цена может ожидаться от продукта, но, с другой стороны, это кажется потраченными байтами. Может быть целый ряд свойств, которые совершенно не имеют отношения к этому конкретному продукту, но имеют отношение к другим продуктам - следует ли мне указать их как явно null ?

{
    name: 'OSX 10.6.10',
    price: 29.95,
    color: null,
    size: null
}

Существуют ли какие-либо «лучшие практики» в отношении дизайн веб-сервисов, предпочитающий явные или неявные нулевые значения? Какой-нибудь стандарт де-факто? Или это полностью зависит от варианта использования?

6
задан Jørn Schou-Rode 21 July 2011 в 10:24
поделиться