JSON в JAVA
JSON в даний час широко використовується у веб-технології для передачі даних в JavaScript. Але з AJAX вступу в JSON картина стала самим популярним інструментом для передачі даних з віддалених сторінки на сторінку покликання. Ну Існують різні пакети доступні для реалізації JSON в Java. Тут я використовую один з пакетів, щоб показати, як ми можемо використовувати цей пакет JSON в Java.
JSON пакет, який я буду використовувати від: JAVA JSON пакета
Ця стаття дасть невелике уявлення про те, як ми можемо відправити великих обсягів даних з JSP / Servlet клієнту Page використанням JSON і AJAX.
JSON пакет використовується тут можуть передавати дані в двох різних форматах JSONArray і JSONObject. Tha Основна відмінність між JSONArray і JSONObject що JSONArray ArrayList використовує для зберігання даних, в той час як JSONObject HashMap використовує для зберігання даних.
Java Servlet реалізації JSON
; імпорт org.json.simple.JSONObject; HttpServlet { громадського JSON клас розширює HttpServlet ( doPost ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { громадського doPost недійсним (HttpServletRequest прохання HttpServletResponse відповідь) кидки IOException, ServletException ( JSONObject ( ) ; JSONObject масив нових JSONObject = (); "data1" , "Hello" ) ; масив. оферти ("Data1", "Hello"); "data2" , "World" ) ; масив. оферти ("data2", "Світ"); "data3" , "Good" ) ; масив. оферти ("data3", "Добре"); "data4" , "Morning" ) ; масив. оферти ("data4", "Ранок"); ) doGet ( HttpServletRequest request,HttpServletResponse response ) throws IOException , ServletException { громадського doGet недійсним (HttpServletRequest прохання HttpServletResponse відповідь) кидки IOException, ServletException ( doPost (); ) )
HTML Page читання JSON значення:
head > < script language = "Javascript" > function getHTTPObject ( ) { var xmlhttp = false ; try { xmlhttp = new ActiveXObject ( "Msxml2.XMLHTTP" ) ; } catch ( e ) { try { xmlhttp = new ActiveXObject ( "Microsoft.XMLHTTP" ) ; } catch ( e ) { try { xmlhttp = new XMLHttpRequest ( ) ; } catch ( e ) { xmlhttp = false ; } } } return xmlhttp ; } var xmlhttp = new getHTTPObject ( ) ; //Initialize New Ajax Object function Connect2RemoteSite ( url,funcname,parameter ) { try { if ( xmlhttp ) { xmlhttp. open ( "POST" , url, true ) ; //URL will be the servlet page xmlhttp. onreadystatechange = funcname ; xmlhttp. setRequestHeader ( 'Content-Type' , 'application/x-www-form-urlencoded' ) ; xmlhttp. setRequestHeader ( "Content-Length" , parameter. length ) ; xmlhttp. send ( parameter ) ; } else { document. getElementById ( "rotateimage" ) . style . display = "none" ; alert ( "Your Browser dosen't support Ajax" ) ; } } catch ( e ) { alert ( "Some Unknown Error Occured. Please Try Again" + e ) ; } } function AjaxResponse ( ) { if ( xmlhttp. readyState == 4 ) { if ( xmlhttp. status == 200 ) { //servletdetail holds the JSONArray Details servletdetail = eval ( xmlhttp. responseText ) ; } } } </ script > </ head > < body > </ body > </ html > HTML <> <голову> <скриптова мова = "Javascript"> функції getHTTPObject () (VAR XMLHTTP = помилковим, спробуйте (XMLHTTP = новий ActiveXObject ("Msxml2.XMLHTTP");) зловити (е) ((спробувати XMLHTTP = новий ActiveXObject ("Microsoft.XMLHTTP");) зловити (е) ((спробувати XMLHTTP = новий XMLHttpRequest ();) зловити (е) (XMLHTTP = помилковим;))) повернення XMLHTTP;) = УАГ XMLHTTP нових getHTTPObject (); / / Ініціалізація нового об'єкта Ajax функції Connect2RemoteSite (URL, РіпсКате, параметр) ((якщо спробувати (XMLHTTP) (XMLHTTP. відкрите ("POST", URL, правда) / / URL буде сервлет XMLHTTP сторінці. onreadystatechange = РіпсКате; XMLHTTP. setRequestHeader ('Content-Type', 'застосування / х-веб-форми urlencoded'); XMLHTTP. setRequestHeader ("Content-Length", параметр. довжина); XMLHTTP. відправляти (параметр);) (інший документ. ідентифікатора ( "rotateimage"). стилі. дисплей = "ні"; оповіщення ("Ваш браузер оленяча шкіра підтримку Ajax ");)) зловити (е) (оповіщення (" Деякі невідома помилка. Спробуйте ще раз "+ е);) AjaxResponse) функції () (якщо (xmlhttp. readyState == 4) (якщо (xmlhttp. статус == 200) (/ / servletdetail проводить Детальна servletdetail JSONArray = EVAL (xmlhttp. responseText );))) </ SCRIPT> < / HEAD> <BODY> </ BODY> </ HTML>
Тут я маю на увазі здійснення JSON з AJAX. JSON об'єкт стає створений у Servlet і отримувати передається через JavaScript, Ajax. В даний час в JavaScript AjaxResponse Функція читає об'єкт JSON по телефону EVAL функції. EVAL функція inbuild функції JavaScript і ось воно відповідає за читання даних JSON об'єкта і привласнити дані змінної JavaScript



































я створив один JSON файл з парою значень і я показав ці цінності в натисніть на кнопку в HTML-сторінку.
його нормальної роботи у вогонь лисиця (тобто значення JSON отримати відображається в сторінку за допомогою Firefox), але не показані значення на сторінці, використовуючи інтернет explorer.what підстави IAM не отримують