лучшая практика JSON? - PullRequest
       13

лучшая практика JSON?

0 голосов
/ 14 декабря 2010

при использовании JSON на стороне сервера покоя пружины будет выглядеть так:

{"userInfo":{"id":123,"userFullName":"full name"}}    with nested 'userInfo'

, если генерация JSON генерируется таким образом, считается наилучшей практикой или просто генерируется как

{"id":88,"userFullName":"dfXXXXXXXXXX"}без вложенной 'userinfo'

причина, по которой я спрашиваю, заключается в том, что если я использую предыдущий метод на своем клиенте, мне нужно будет извлечь информацию о пользователе как JSONObject, тогда только сможет получить данные json.какой путь лучше?

Ответы [ 4 ]

4 голосов
/ 14 декабря 2010

Это все равно, что спросить, что лучше между этими двумя фрагментами XML:

<userinfo>
  <id></id>
  <username></username>
</userinfo>

или

<id></id>
<username></username>

Я бы предпочел первый формат, потому что он более читабелен, но, конечно, из второго формата генерируется меньше данных. Лучше всего иметь код, который можно поддерживать. Так же, как то, что йода ответил

"С точки зрения управляющего кодом, Я бы выбрал первый вариант "

2 голосов
/ 14 декабря 2010

Я не верю, что одно решение универсально более правильно, чем другое. Я думаю, что более подходящее решение сильно зависит от контекста.

С учетом вышесказанного, по моему скромному мнению, хотя первое упомянутое вами решение требует большей обработки, оно также предлагает гораздо большую гибкость. JSON отлично подходит для представления иерархии данных и структуры. Если вы когда-нибудь хотели добавить больше данных или структуры, я считаю, что первое решение (с вложенным userInfo) будет обрабатывать переход более плавно.

Например, предположим, что вы хотите поддерживать информацию для нескольких пользователей, тогда единственное переключение, которое вам нужно сделать, - это чтобы userInfo содержал массив JSON из нескольких объектов userInfo. Чтобы продвинуться дальше, скажем, вы также хотели полностью включить новый набор данных, например locationInfo, вы бы получили выгоду от вложенной иерархии для разделения этих двух различных классов данных.

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

Просто пища для размышлений.

Удачи!

2 голосов
/ 14 декабря 2010

С точки зрения обслуживания, я бы выбрал первый вариант, поскольку вам может потребоваться дополнительная информация. Кроме того, нет большой разницы.

1 голос
/ 14 декабря 2010

Основной принцип JSON - предоставлять «объектно-ориентированные» нотации для использования в JavaScript. и если вы придерживаетесь этого, я чувствую, что ваша первая конструкция с вложенным userInfo является более подходящей конструкцией. в противном случае во втором случае вам придётся создавать объект userInfo из данных другого поля.

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