国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java 把json對象轉成map鍵值對的方法

2024-07-14 08:40:22
字體:
來源:轉載
供稿:網友

工具方法: 本文的目的是把json串轉成map鍵值對存儲,而且只存儲葉節點的數據

maven 引用jar包版本:

<dependency>       <groupId>org.json</groupId>       <artifactId>json</artifactId>       <version>20090211</version>     </dependency> 

工具類:

package com.baofoo.admin.test; //import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.json.*; import java.util.*; /**  * Created by BF100 on 2018/4/12.  */ @Slf4j public class TestByCaoxNew {   @Test   public void test1(){     try{       int a = 1/0;     }catch (Exception e){       log.error("call Exception :{}",e);       e.printStackTrace();     }     System.out.println("come on !!!");   }   @Test   public void test2() throws Exception{     String str = "{/"result/":/"success/",/"message/":/"成功!/"}";     String str2 = "{result:success,message:成功}"; //    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 key:keys){       System.out.println(key+":"+resultMap.get(key));     }   }   /**    * @Author:sks    * @Description:把json對象數據存儲在map以鍵值對的形式存儲,只存儲葉節點    * @Date:    */   private static void JsonToMap(Stack<JSONObject> stObj, Map<String, Object> resultMap) throws Exception {     if(stObj == null && stObj.pop() == null){       return ;     }     JSONObject json = stObj.pop();     Iterator it = json.keys();     while(it.hasNext()){       String key = (String) it.next();       //得到value的值       Object value = json.get(key);       //System.out.println(value);       if(value instanceof JSONObject)       {         stObj.push((JSONObject)value);         //遞歸遍歷         JsonToMap(stObj,resultMap);       }       else {         resultMap.put(key, value);       }     }   }   @Test   public void test3() throws Exception{     String jsonStr ="{responseHeader:{status:0,QTime:0},spellcheck:{suggestions:{中國:{numFound:9,startOffset:0,endOffset:2," +         "suggestion:[中國工商銀行, 中國人民, 中國國際, 中國農業, 中國市場, 中國經濟, 中國人, 中國廣播, 中國文化]}}," +         "collations:{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 key:keys){       System.out.println(key+":"+resultMap.get(key));     }   } } 

總結

以上所述是小編給大家介紹的Java 把json對象轉成map鍵值對的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奉节县| 上蔡县| 始兴县| 万源市| 天台县| 翁牛特旗| 栾川县| 鱼台县| 金山区| 中西区| 望奎县| 眉山市| 大丰市| 新营市| 都安| 远安县| 临汾市| 天峨县| 西宁市| 阜康市| 光山县| 旺苍县| 九江县| 道孚县| 合肥市| 彩票| 兴业县| 宽甸| 凌源市| 西乌| 灌云县| 都昌县| 江陵县| 繁峙县| 杭锦旗| 汾西县| 高尔夫| 巫溪县| 长乐市| 冷水江市| 高州市|