Метод инструментов: Цель этой статьи-преобразовать строку JSON в хранилище пары клавишных значений MAP и сохранить только данные листового узла
Maven ссылается на версию пакета JAR:
<depervice> <groupid> org.json </GroupId> <ratifactid> json </artifactid> <sersion> 20090211 </version> </depervice>
Инструменты:
пакет com.baofoo.admin.test; // импорт com.alibaba.fastjson.jsonobject; импортировать lombok.extern.slf4j.slf4j; Импорт org.junit.test; Импорт org.json.*; Импорт java.util.*; /*** Создано BF100 2018/4/12. */ @Slf4j public class testbycaoxnew {@test public void test1 () {try {int a = 1/0; } catch (Exception e) {log.error ("Excelment: {}", e); e.printstacktrace (); } System.out.println ("Давай !!!"); } @Test public void test2 () throws exception {string str = "{/" result/":/" success/",/" message/":/" успех! /"}"; String str2 = "{result: успех, сообщение: успех}"; // jsonObject jsstr = jsonObject.parseObject (str); // System.out.println (jsstr); JsonObject obj = new jsonObject (str); Stack <jsonObject> stobj = new Stack <jsonObject> (); Stobj.push (obj); Map <string, object> resultmap = new hashmap <string, object> (); JSontomap (Stobj, ResultMap); SET <String> keys = resultMap.keySet (); for (String клавиша: keys) {System.out.println (key+":"+resultmap.get (key)); }} / ** * @author: sks * @description: хранить данные объекта json в карте в форме пар клавиш значения, храните только листовые узлы * @date: * / private static void jsontomap (stack <jsonobject> stobj, map <string> out-ressulmap) throus exception {if (if null & жизне и stobop. } JsonObject json = stobj.pop (); Итератор IT = json.keys (); while (it.hasnext ()) {string key = (string) it.next (); // Получить значение значения объекта значение = json.get (key); //System.out.println(value); if (value ancessionof jsonObject) {stobj.push ((jsonObject) значение); // рекурсивно траверс jsontomap (stobj, resultmap); } else {resultMap.put (key, value); }}} @Test public void test3 () Throws Exception {string jsonster = "{repplyHeader: {Статус: 0, Qtime: 0}, Переписка: {Предложения: {Китай: {numfound: 9, Startoffset: 0, Endoffset: 2,« + ». Китайская культура]}}, " +" Collions: {Collation: промышленность и коммерческий банк Китая}}} "; Jsonobject obj = new jsonObject (jsonstr); Stack <jsonObject> stobj = new Stack <jsonObject> (); Stobj.push (obj); Map <string, object> resultmap = new hashmap <string, object> (); JSontomap (Stobj, ResultMap); SET <String> keys = resultMap.keySet (); for (String клавиша: keys) {System.out.println (key+":"+resultmap.get (key)); }}}Суммировать
Выше приведено метод преобразования объектов JSON в пары клавиш карты, введенные редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!