Я только начал делать jQuery на прошлой неделе, и до сих пор я уже сделал некоторые базовые системы с ajax, такими как базовый jQuery CRUD и простая чат-система, не ссылаясь на работу другого, потому что я решил проверить себя, насколько я могу делать системы в jQuery (только в JQuery) без JSON и XML еще).
Но когда я решил посмотреть на работу другого (надеясь получить / изучить хорошие практики и коды там), многие или почти каждая программа, которая имеет дело с ajax, имеет в себе некоторый JSON. Поэтому я решил изучить и прочитать JSON специально этот , но я думаю, потому что это мой первый раз, когда я сталкиваюсь с этим, у меня проблема, которая погружается в мой мозг. Да, я знаю, что это «легкий способ описания иерархических данных», я также знаю, как заставить JSON смешивать литеральный массив и объект в JS и как выполнять его в js.
Но мой вопрос в том, какая разница и в чем преимущество, чем не использовать его? Когда я могу получить и хранить данные на сервере с помощью ajax и базы данных без JSON. Кстати, я не фокусируюсь на XML, но из-за моих исследований лучше использовать JSON в AJAX.
Можете ли вы дать мне реальный сценарий, связанный с
s1. ajax php mysql ( это с какими минусами? )
а также
s2. ajax php mysql json ( с какими преимуществами? )
Я имею в виду, что я сосредоточен на отправке и получении данных, и я уже могу это сделать с помощью s1.
Извините, если вы найдете мой вопрос глупым. Тиа. 🙂
Зачем использовать JSON? Ответ – переносимость и структура .
JSON переносима, поскольку парсеры и писатели доступны для многих, многих языков. Это означает, что JSON, создаваемый PHP-скриптом, может быть легко понят с помощью сценария JavaScript. Это лучший способ передать сложные структуры, такие как массивы и объекты, и по-прежнему совместимы с несколькими языками.
JSON предоставляет структуру, потому что данные, которые вы передаете с ним, могут иметь последовательное форматирование. Это вместо того, чтобы передавать обратно текстовые (т.е. неформатированные) данные, такие как данные с разделителями-запятыми или с разделителями.
Данные, которые просто ограничены (например, «BookName1, BookName2, BookName3»), труднее понять людям, отлаживать и работать с ними. Если вы хотите отлаживать ответ между вашим сервером и вашим браузером, и данные были ограничены (как и мой пример выше), вам может быть трудно понять это. Кроме того, если вы хотите добавить разные типы данных, предоставить отдельные записи и т. Д., Тогда ваш пользовательский формат данных станет более сложным. В конце концов, вы можете в конечном итоге изобретать JSON.
В качестве примечания, JSON действительно лучше, чем XML. Он намного эффективнее по площади. Нет имен тегов, которые занимают место. Структура создается через вложенные фигурные скобки, а не с подробными тегами.
Ресурсы
Вот интересная статья о различиях и плюсах / минусах XML и JSON: http://www.json.org/xml.html
Примеры
По вашему запросу здесь приведен пример кодирования JSON с PHP. Это разорвано из документов :
$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
. Но, кодируя это вручную, а затем расшифровывая его вручную, будет значительно больше работать.
Программирование на любом языке программирования, у вас есть несколько различных типов данных, в том числе очень полезный тип array
.
Обмен данными между Javascript и любым языком на стороне сервера возможен только через строки. Т.е. вы можете отправлять и возвращать любой текст , но нет способа отправить собственный массив или тип номера.
JSON – это элегантный способ выразить массив и другие типы, используя только строку. Таким образом, вы можете передавать произвольные данные между различными средами и не ограничиваться чистым текстом. XML решает такую же проблему, но часто переполняется для простых запросов AJAX.