Должен ли я использовать JSON только для использования JSON

11

Я создаю блог-сайт для обучения с PHP / MySQl. Весь пользовательский ввод обрабатывается с помощью форм, отправленных в запросах POST.

Будет ли использование JSON как-то делать его чище, проще в обслуживании или добавлении новых функций? Или я просто добавляю формат обмена без причины?

Итак, по существу, какую функциональность лучше всего реализовать с использованием JSON?

JonOsterman
источник
4
Какая альтернатива? Изобретаете свой собственный формат данных?
@delnan: Yaml, CSV. Я мог бы подумать о нескольких других.
Роберт Харви
10
Редко использует бла ради использования бла мудрый план. Посмотрите, для чего хорош JSON, а затем подумайте, стоит ли использовать JSON для этих конкретных аспектов.
whatsisname
@RobertHarvey: или стандартные формы HTTP.
Цао
7
I'm building a blogging site for learning- вы изучаете связанные технологии? или предоставить материал для других? Если первое, абсолютно - используйте json ради его использования, чтобы вы научились его использовать. Испытайте себя с новыми технологиями - иначе вы не научитесь их использовать.

Ответы:

15

JSON имеет несколько преимуществ:

  • Это структурированный формат, который можно проверить и проанализировать с помощью существующих, зрелых инструментов.
  • Он может легко общаться с JavaScript, что делает его очень полезным для связи AJAX.
  • Это очень просто и легко. Для всего, что вы хотите использовать для обмена данными XML, JSON, как правило, является лучшей альтернативой.

Мое эмпирическое правило: если вам нужно только вернуть один семантический элемент из вызова, отправьте его в виде простого текста. Но если вам нужно вернуть несколько частей информации, используйте JSON.

Мейсон Уилер
источник
6
в разговоре с JS-частью никогда не используйте eval для получения значения, вместо этого используйте JSON.parse, доступный в большинстве браузеров
ratchet freak
1
Он легко говорит PHP , как хорошо, так json_decode()и json_encode()преобразования между строкой JSON и нативной Array()структуры данных
Izkata
@Izkata, только если ваш сервер имеет эти функции.
Дарт Egregious
За исключением случаев отправки форм, использование JSON нарушает стандарты . Зачем исправлять то, что не сломано?
Брендан Лонг
2
@BrendanLong: Этот стандарт ничего не говорит об использовании или не использовании JSON. Очевидно, что если вы отправляете форму, вы должны закодировать все данные в соответствии со стандартом HTTP. Но если один из отправляемых вами элементов формы является сложным элементом, содержащим несколько семантических элементов, хороший способ сделать это - поместить этот элемент в формат JSON (который затем корректно кодируется вашей HTTP-библиотекой).
Мейсон Уилер
5

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

Опять же, в ваших конкретных обстоятельствах JSON может быть чем-то, что вы использовали бы, если бы вам нужно было отправлять полуструктурированные данные обратно в веб-браузер. На стороне браузера JSON будет очень легко разобрать в javascript.

GrandmasterB
источник
2

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

Ryathal
источник
1

Я не думаю, что реализация JSON по сути улучшит ваш сайт как есть. JSON - это нотация объектов JavaScript; поэтому, если вы не начинаете изучать и JavaScript, я не вижу неотъемлемой ценности в том, чтобы убедиться, что все в JSON.

Хонус Вагнер
источник
Вам не нужно изучать JavaScript, чтобы использовать / злоупотреблять JSON. Это не зависит от языка.
CokoBWare
0

Хотя JSON очень расширяем и хорошо структурирован, он не самый быстрый.

JSON отлично подходит для отправки данных с сервера клиентам, потому что он решает проблемы с кодированием.

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

Чтобы решить проблемы с расширяемостью двоичных файлов, вы можете пометить свои структуры 4-символьным кодом для имени структуры и 1-2-байтовым номером для версии.

Triang3l
источник
6
JSON - это формат данных, а не база данных.
Роберт Харви
Да, но его можно использовать для хранения массивов.
Triang3l 18.12.12