Легкий формат обмена данными JSON
По сравнению с XML, JSON SAINSESE быстрее и имеет меньшие документы.
Формат JSON
{Имя атрибута: значение атрибута, имя атрибута: значение атрибута, ...}
Тип имени атрибута может быть строкой, номером, логическим, нулевым, объектом и именем атрибута должно быть заключено в двойные кавычки. Если значение атрибута является строкой, оно также должно быть заключено в двойные кавычки.
JSON представляет собой массив
Формат: [значение, значение, значение], где значение может быть основным типом данных, типом объекта или типом массива
Тип массива [{"name": "yangjq", "Age": 22}, {"name": "andreny", "Age": 21}];Тип объекта [«Имя»: «Андрен», «Хобби»: [«Петь», «танец», «Ешь»]]]]
Конвертировать
График строки lrjson -> javascript объект
1. Используйте нативную функцию JavaScript: eval (), но этот метод опасен, и вы должны быть осторожны при ее использовании.
var str = {"name": "yangjq", "age": 23}; var obj = eval ("("+str+")"); alert (obj.name);2. Используйте метод Parse (), предоставленный нативным объектом JSON. Если этот объект недействителен, это означает, что версия вашего браузера слишком низкая! ! !
var str = {"name": "andreny", "age": 22}; var obj = json.parse (str); alert (obj.name);3. Метод для добавления строк с использованием файла json.js.
var str = {"name": "cute erha", "age": 9}; var obj = str.parsejson (); alert (obj.name);Преобразовать объект json в строку json
График объект LRJSON -> json String
Использование API, предоставленного JSON: jsonObject, метод, предоставленный JsonArray
// Первый метод EMP = new EMP («1», «Andreny», «Man»); JsonObject obj = jsonObject.FromObject (emp); string jsonts = obj.toString (); // второй метод var obj = {"name": "yangjq", "age": 23}; var1 = abj str2 = obj.json.stringify ();Вопросы кэширования, связанные с Ajax при отправке запросов
== Примечание ==: При отправке запроса объект AJAX, предоставленный браузером IE, сначала проверит, доступ ли он доступ к адресу. Если он получил доступ к нему, браузер больше не отправит запрос.
Механизмы для разных браузеров для лечения кэша
Chrome продолжает отправлять запросы
Firefox продолжает отправлять запросы
Т.е. браузер больше не отправляет запросы
Как предотвратить отправку браузера запросов из -за кэша?
Добавить случайное число после адреса запроса
xhr.open ('Get', 'getNumber.do?+math.random(), true);Отправить запрос сообщения
Некоторые вопросы о синхронизации
После отправки запроса на синхронизацию браузер должен ждать ответа сервера, прежде чем продолжить работу на странице. Когда Ajax отправляет запрос на синхронизацию, браузер заблокирует текущую страницу.
Тестовый код
Пакет yangjq.test; import java.util.arraylist; import java.util.list; import net.sf.json.jsonarray; import net.sf.json.jsonobject; импорт yangjq.entity.friend; public class jsontest {public static void main (string [] args) {System.out.println ("-------------------------"); test1 (); test2 (); test3 (); test4 ();} // преобразование объекта Java в json String public void test1 () {friend f = new Friend (); f.setname ("andreny"); f.setage (23); obj = jsonObject.fromObject (f); System.out.println (obj.toString ());} // конвертировать коллекцию json в json string public static void test2 () {list> fs = new ArrayList <frowing> (); for (int i = 0; i <10; i ++) {friend f = new Friend (); f.setName ("yangjq"+i); f.setage (12+i); fs.add (f);} jsonarray ja = jsonarray.fromobject (fs); system.out.println ("------------/n"+fs); System.out.println (ja.toString ());} // json строка преобразуется в объект Java public static void test3 () {строка jsonstr = "{/" name/":/" andreny/",/" age/": 22}"; jsonObject obj = jsonObject.fromObject (jSonstr); друг друга = (друг) JSONObject.toBean(obj,Friend.class);System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. "{/" name/":/" andreny/",/" age/": 23}]"; jsonarray obj = jsonarray.fromobject (jsonstr); list <friend> friends = (list <friend>) JSONArray.toCollection(obj,Friend.class);System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Результаты работы:
---------------{"age":23,"name":"andreny"}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [name = yangjq8, возраст = 20], друг [name = yangjq9, возраст = 21]] [{«Возраст»: 12, «Имя»: "yangjq0"}, {"Age": 13, "name": "yangjq1"}, {"Age": 14, "name": "Yang jq2 "}, {" age ": 15," name ":" yangjq3 "}, {" Age ": 16," name ":" yangjq4 "}, {" Age ": 17," name ":" yangjq5 " }, {"Age": 18, "name": "yangjq6"}, {"Age": 19, "name": "yangjq7"}, {"Age": 20, "name": "yangjq8"}, {"Age": 21, "имя": "yangjq9"}] ------------------------------------------------------------------------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [name = andreny, age=22]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Суммировать
Выше приведено в этой статье, в которой обсуждаются вопросы обмена данными, кэширование и синхронизацию JSON. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!