Стандартные представления JSON - PullRequest
2 голосов
/ 24 июля 2010

Мы создаем веб-сервис, который использует и производит JSON.

Проблема: Мы немного озадачены тем, как представить некоторые конкретные детали объекта.

Пример: мы указываем любой пустой элемент или нулевой элемент как ноль в JSON

Вопрос, который мы задаем себе: как мы представляем объект, когда все его свойства равны нулю.

пример: car - это объект, а color и make - свойства, которые равны нулю.

Мыпредставьте это как

car : {
    "color": null,
    "make" : null
}

Некоторые люди утверждают, что это должно быть представлено как

car : null

Так скажем, автомобиль: ноль - правильный способ сделать это.Автомобиль не является точным представлением объекта домена.это кусочек доменного объекта, давайте назовем его большой машиной.Таким образом, мы делаем вид из машины в каком-то переводчике.Таким образом, мы находим болезненный способ проверки каждого поля в автомобильном объекте, и если они равны нулю, то устанавливаем автомобиль как нулевой, чтобы Джексон-провайдер Джексона мог отобразить его как нулевой.Я знаю, что это неправильный способ сделать это.

Может кто-нибудь предложить альтернативу ??

Есть ли одно место, где мы можем проверить, есть ли объект просмотра со всеми дочерними элементами null ??и затем установите его на ноль.

какой способ более расходуемый ??

1 Ответ

4 голосов
/ 24 июля 2010

Если я правильно понимаю, есть три разные ситуации, которые вы пытаетесь представить. Во-первых, машины НЕТ, а во-вторых, ЕСТЬ машина, но мы ничего о ней не знаем, и наконец, ЕСТЬ машина, и мы кое-что о ней знаем (возможно, все об этом). Итак, возможны три ситуации:

(1) У Рикардо нет машины

'ricardo': {
  'car': null
}

(2) У Рикардо есть машина, но мы ничего о ней не знаем

'ricardo' : {
  'car' : {
    'color' : null,
    'make' : null
   }
 }

(3) У Рикардо есть машина, и мы кое-что о ней знаем (или обо всем)

'ricardo' : {
  'car' : {
    'color' : 'red',
    'make' : 'ferrari'
   }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...