Чи слід використовувати JSON просто для використання JSON


11

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

Чи буде використання JSON якимось чином зробити його більш чистим чи простіше в обслуговуванні чи додаванні функцій? Або я просто додаю формат обміну без причини?

Отже, по суті, яку функціональність найкраще реалізувати за допомогою JSON?


4
Яка альтернатива? Винайдення власного формату даних?

@delnan: Ямл, CSV. Я, мабуть, міг придумати ще декілька.
Роберт Харві

10
Рідко використовується благ заради використання благ мудрого плану. Подивіться на те, що добре для JSON, а потім подумайте, чи варто використовувати JSON для цих конкретних аспектів.
whatsisname

@RobertHarvey: Або стандартні форми HTTP.
cHao

7
I'm building a blogging site for learning- ваше вивчення пов'язаних технологій? або надавати матеріал для інших? Якщо перший, абсолютно - використовуйте json заради його використання, щоб ви навчилися ним користуватися. Киньте собі виклик за допомогою нових технологій - інакше ви не навчитесь ними користуватися.

Відповіді:


15

JSON має ряд переваг:

  • Це структурований формат, який можна перевірити та проаналізувати за допомогою існуючих, зрілих інструментів.
  • Він може легко говорити на JavaScript, що робить його дуже корисним для зв'язку AJAX.
  • Це надзвичайно просто і легко. Що б ви хотіли використовувати для обміну даними XML, JSON, як правило, є кращою альтернативою.

Моє правило - якщо вам потрібно повернути лише один смисловий елемент під час дзвінка, надішліть його як звичайний текст. Але якщо вам потрібно повернути кілька відомостей, використовуйте JSON.


6
в розмові з частиною JS ніколи не використовуйте eval, щоб отримати його значення, замість цього використовуйте JSON.parse, доступний у більшості браузерів
храповик виродка

1
Він легко говорить PHP , як добре, так json_decode()і json_encode()перетворення між рядком JSON і нативної Array()структури даних
Izkata

@Izkata, лише якщо ваш сервер має ці функції.
Дарт Егрегійний

За винятком випадків подання форми, використання JSON порушує стандарти . Чому виправляти те, що не порушено?
Брендан Лонг

2
@BrendanLong: Цей стандарт нічого не говорить про використання або не використання JSON. Очевидно, якщо ви робите подання форми, вам слід кодувати всі дані відповідно до стандарту HTTP. Але якщо один із елементів форми, який ви надсилаєте, є складним елементом, що містить декілька смислових елементів, розміщення цього елемента у форматі JSON (який потім правильно кодується вашою бібліотекою HTTP) - це хороший спосіб зробити це.
Мейсон Уілер

5

Для того, що ви описуєте - це звучить як платформа для блогів, де все подається через форми - ні, вам не потрібно конвертувати все це в JSON. PHP ручки легко для вас. Немає підстав вводити нову частину ускладнень у цій ситуації.

Знову ж таки, за ваших конкретних обставин , JSON може бути чимось, що ви використовуєте, якщо вам потрібно буде надіслати напівструктуровані дані назад до веб-браузера. З боку браузера JSON буде дуже легко розібратися в JavaScript.


2

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


1

Я не думаю, що впровадження JSON суттєво покращить ваш сайт таким, яким він є. JSON - нотація об'єкта JavaScript; тому, якщо ви також не починаєте вивчати JavaScript, я не бачу властивої цінності в тому, щоб переконатися, що все в JSON.


Для використання / зловживання JSON вам не потрібно вивчати JavaScript. Це незалежно від мови.
CokoBWare

0

Незважаючи на те, що JSON дуже розширений і добре структурований, він не найшвидший.

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

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

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


6
JSON - це формат даних, а не база даних.
Роберт Харві

Так, але його можна використовувати для зберігання масивів.
Triang3l
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.