Подтвердить что ты не робот

Зачем нужно использовать JSON в php и AJAX

Я только что начал делать jQuery на прошлой неделе, и до сих пор я уже делал некоторые базовые системы с ajax, такими как базовый jQuery CRUD и простая чат-система без ссылок на другую работу. Я решил проверить себя, насколько я могу делать только системы в jQuery (без JSON и XML еще).

Но когда я решил посмотреть на другую работу (надеясь получить/изучить хорошие практики и коды там), многие или почти каждая программа, которая имеет дело с ajax, имеют в ней некоторый JSON. Поэтому я решил изучить и прочитать JSON специально этот, но я думаю, потому что это мой первый раз, когда я занимаюсь этим, у меня проблема с тонущим его в мозг. Да, я знаю, что это "легкий способ описания иерархических данных", я также знаю, как заставить JSON смешивать литеральный массив и объект в JS и как выполнять его в js.

Но мой вопрос: какая разница и какое преимущество, чем не использовать его? Когда я могу получить и хранить данные на сервере с помощью ajax и базы данных без JSON. Кстати, я не фокусируюсь на XML, но из-за моего исследования лучше использовать JSON в AJAX.

Можете ли вы дать мне реальный сценарий, касающийся

s1. ajax php mysql (с какими минусами?)

и

s2. ajax php mysql json (с какими преимуществами?)

Я имею в виду, что я сосредоточен на отправке и получении данных, и я уже могу сделать это с помощью s1.

Извините, если вы найдете мой вопрос глупым. Тиа.:)

4b9b3361

Ответ 1

Зачем использовать JSON? Ответ: переносимость и структура.

JSON переносимый, поскольку парсеры и писатели доступны для многих языков. Это означает, что JSON, создаваемый PHP script, может быть очень легко понят с помощью JavaScript script. Это лучший способ передать сложные структуры, такие как массивы и объекты, и по-прежнему совместимы с несколькими языками.

JSON предоставляет структуру, потому что данные, которые вы передаете с ним, могут иметь последовательное форматирование. Это вместо того, чтобы передавать обратно текстовые (т.е. неформатированные) данные, такие как данные с разделителями-запятыми или с разделителями.

Данные, которые просто ограничены (например, "BookName1, BookName2, BookName3" ), труднее понять людям, отлаживать и работать с ними. Если вы хотите отлаживать ответ между вашим сервером и вашим браузером, и данные были ограничены (как и мой пример выше), вам может быть трудно понять это. Кроме того, если вы хотите добавить разные типы данных, предоставить отдельные записи и т.д., Тогда ваш пользовательский формат данных станет более сложным. В конце концов, вы можете закончить изобретать JSON.

В качестве побочного примечания JSON действительно лучше, чем XML. Он намного эффективнее по площади. Нет имен тегов, которые занимают место. Структура создается через вложенные фигурные скобки, а не подробные теги.

Ресурсы

Вот интересная статья о различиях и плюсах/минусах XML и JSON: http://www.json.org/xml.html

<сильные > Примеры

По вашему запросу, вот пример кодирования JSON с PHP. Это разорвано из docs:

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);

Вывод:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Сравните это с чем-то вроде этого без JSON:

a,1
b,2
c,3
d,4
e,5

Чтобы проанализировать это, вам придется перебирать каждую строку, разбивать значения самостоятельно, а затем создавать массив. Это не так сложно, но представьте, что у вас есть вложенный объект:

$arr = array ('a'=> array(1,2,3),'b'=> array('a' => 1, 'b' => 2),'c'=>3,'d'=> array(1,2,3,4,5) ,'e'=>5); // etc.

С JSON, он не отличается от кодирования. Просто используйте json_encode. Но, кодируя это вручную, а затем расшифровывая его вручную, будет значительно больше работать.

Ответ 2

Программирование на любом языке программирования, у вас есть несколько различных типов данных в вашем распоряжении, включая очень полезный тип array.
Обмен данными между Javascript и любым языком на стороне сервера возможен только через строки. То есть вы можете отправлять и возвращать любой текст, но нет способа отправить собственный массив или тип номера.

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