В этой статье анализируются три способа анализа JSON на основе Java. Поделитесь этим для вашей ссылки, следующим образом:
1. Что такое JSON?
JSON - это структура данных, которая заменяет XML. По сравнению с XML, он меньше, но имеет хорошие возможности описания. Из -за своей мелкости сеть передает данные, чтобы уменьшить больший трафик и ускорить.
JSON - это цепочка струн, но элементы отмечены определенными символами.
{} Двойные кронштейны представляют объекты
[] Кроншеты представляют собой массив
«В двойных кавычках - атрибуты или значения
: Толстая кишка указывает, что последнее является значением первого (это значение может быть строкой, числом или другим массивом или объектом)
Итак, {"name": "Майкл"} может быть понят как объект, содержащий имя как Майкл
И [{"name": "michael"}, {"name": "jerry"}] означает массив, содержащий два объекта
Конечно, вы также можете использовать {"name": ["Michael", "Jerry"]}, чтобы упростить вышеперечисленное, которое является объектом с массивом имен.
2. Традиционный анализ JSON: анализ JSON
1. Сгенерировать строку json
public static String createJSonstring (String Key, значение объекта) {jsonObject jsonObject = new jsonObject (); jsonObject.put (ключ, значение); return jsonObject.toString ();}2. Разбивание струн JSON
Он разделен на следующие три ситуации: javabean, массив списков и массив списков с вложенной картой:
Import java.util.arraylist; import java.util.hashmap; import java.util.iterator; импорт java.util.list; import java.util.map; import org.json.jsonarray; импорт org.json.jsonobject; импорт com.android.myson.domain.person Jsontools {public Static getPerson (String Key, String JSonstring) {Person Person = new Person (); try {jsonObject jsonObject = new jsonObject (jsonstring); JsonObject personObject = jsonObject.getJsonObject ("Person"); person.setid (personObject.getInt ("id")); person.setname (personObject.getString ("name")); Person.setAddress (personObject.getString ("адрес")); } catch (Exception e) {// todo: обрабатывать исключение} return Person; } public Static List getPersons (String Key, String JSonstring) {List List = new ArrayList (); try {jsonObject jsonObject = new jsonObject (jsonstring); // вернуть массив json jsonarray jsonarray = jsonobject.getjsonarray (key); for (int i = 0; i <jsonarray.length (); i ++) {jsonObject jsonObject2 = jsonarray.getJsonObject (i); Человек = новый человек (); person.setid (jsonobject2.getint ("id")); Person.setName (jsonObject2.getString ("имя")); Person.setAddress (jsonObject2.getString ("адрес")); list.add (человек); }} catch (Exception e) {// todo: обработка исключения} return List; } public Static List getList (String Key, String JSonstring) {List List = new ArrayList (); try {jsonObject jsonObject = new jsonObject (jsonstring); Jsonarray jsonarray = jsonobject.getjsonarray (Key); for (int i = 0; i <jsonarray.length (); i ++) {String msg = jsonarray.getString (i); list.add (msg); }} catch (Exception e) {// todo: обработка исключения} return List; } public Static List> ListKeyMaps (String Key, String JSonstring) {list> list = new ArrayList> (); try {jsonObject jsonObject = new jsonObject (jsonstring); Jsonarray jsonarray = jsonobject.getjsonarray (Key); for (int i = 0; i <jsonarray.length (); i ++) {jsonObject jsonObject2 = jsonarray.getJsonObject (i); Карта карта = new hashmap (); Итератор итератор = jsonObject2.keys (); while (iterator.hasnext ()) {string json_key = iterator.next (); Object json_value = jsonObject2.get (json_key); if (json_value == null) {json_value = ""; } map.put (json_key, json_value); } list.add (map); }} catch (Exception e) {// todo: обработка исключения} return List; }}3. Анализ GSON JSON
1. Сгенерировать строку json
Импорт com.google.gson.gson; public class jsonutils {public static String createJsonObject (Object obj) {gson gson = new gson (); String str = gson.tojson (obj); вернуть Str; }}2. Проанализируйте JSON
Импорт java.util.arraylist; import java.util.list; import java.util.map; import com.google.gson.gson; import com.google.gson.reflect.typetoken ;; public class gsontools {public gsontools () {// todo autogencted constructor stub} /** ** @paring @Par cls * @return */ public static t getPerson (String JSonstring, Class CLS) {t t = null; try {gson gson = new gson (); t = gson.fromjson (JSonstring, CLS); } catch (Exception e) {// todo: обрабатывать исключение} return t; } / ** * Используйте список GSON для Parse * * @param * @param Jsonstring * @param cls * @return * / public Static List getPersons (String JSonstring, Class CLS) {список = new ArrayList (); try {gson gson = new gson (); list = gson.fromjson (jsonstring, new typetoken> () {} .gettype ()); } catch (Exception e) {} return List; } / ** * @param jsonstring * @return * / public Static List getList (String JSonstring) {List List = new ArrayList (); try {gson gson = new gson (); list = gson.fromjson (jsonstring, new typetoken> () {} .gettype ()); } catch (Exception e) {// todo: обрабатывать исключение} return List; } public Static List> ListKeyMaps (String JSonstring) {list> list = new ArrayList> (); try {gson gson = new gson (); list = gson.fromjson (jsonstring, new typetoken >> () {} .gettype ()); } catch (Exception e) {// todo: обрабатывать исключение} return List; }}4. Fastjson SAINING
Импорт java.util.arraylist; import java.util.list; import java.util.map; import com.alibaba.fastjson.json; import com.alibaba.fastjson.typereference; открытый класс JSontool {public static t getperson (String jsonstring, class cls) {t T = null; try {t = json.parseObject (jsonstring, cls); } catch (Exception e) {// todo: обрабатывать исключение} return t; } public Static List getPersonList (String JSonstring, Class CLS) {List List = new ArrayList (); try {list = json.parsearray (jsonstring, cls); } catch (Exception e) {// todo: обрабатывать исключение} return List; } public Static List> getPersonListmap1 (String JSonstring) {list> list = new ArrayList> (); try {list = json.parseObject (jsonstring, new typereference >> () {} .getType ()); } catch (Exception e) {// todo: обрабатывать исключение} return List; }}Суммировать:
Для мобильных устройств, особенно в случае плохой сетевой среды и ограничений трафика, JSON будет сэкономить трафик и иметь более высокую эффективность передачи по сравнению с передачей данных формата XML. Среди этих трех аналитических методов Fastjson является наиболее эффективным и рекомендуется.
PS: Что касается операции JSON, вот несколько практических онлайн -инструментов JSON для вашей ссылки: Инструменты проверки кода JSON, проверка, осмотр, благоустройство и форматирование: Инструмент форматирования онлайн -форматирования JSON : Онлайн инструмент взаимного преобразования XML/JSON: Код JSON онлайн форматирование/благоустройство/сжатие/редактирование/преобразование инструментов: Онлайн инструменты сжатия/сжатия JSON: C Language Style/HTML/CSS/JSON CODE Инструменты и инструменты благоустройства:
http://tools.vevb.com/code/json
http://tools.vevb.com/code/jsonformat
http://tools.vevb.com/code/xmljson
http://tools.vevb.com/code/jsoncodeformat
http://tools.vevb.com/code/json_yasuo_trans
http://tools.vevb.com/code/ccode_html_css_json
Я надеюсь, что эта статья будет полезна для всех Java Programming.