欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Jackson第四篇【Find方法尋值】

第二章寫(xiě)了一種自己寫(xiě)的方法來(lái)查找json字符串中的值,其實(shí)jackson還提供一個(gè)find方法來(lái)查找json字符串中的值。今天我們一起來(lái)看看這個(gè)方法的使用……

按照慣例我先貼上代碼

  1. /** 
  2.  * 具體的類(lèi)我就不貼出來(lái)浪費空間了 
  3.  *  
  4.  * @param args 
  5.  * @throws Exception 
  6.  */  
  7. public static void main(String[] args) throws Exception {  
  8.     // 準備數據   
  9.     List<Person> pers = new ArrayList<Person>();  
  10.     List<Person> childs = new ArrayList<Person>();  
  11.     Person p = new Person("張三"46);  
  12.     childs.add(new Person("小張三1"20));  
  13.     childs.add(new Person("小張三2"17));  
  14.     p.setChilds(childs);  
  15.     pers.add(p);  
  16.     p = new Person("李四"29);  
  17.     childs = new ArrayList<Person>();  
  18.     childs.add(new Person("小李四1"20));  
  19.     p.setChilds(childs);  
  20.     pers.add(p);  
  21.     p = new Person("王二麻子"23);  
  22.     pers.add(p);  
  23.     TestVo vo = new TestVo(null, pers);  
  24.     ObjectMapper mapper = JsonProcessUtil.getMapperInstance(false);  
  25.     String voJson = JsonProcessUtil.toJson(vo);  
  26.     JsonNode node = mapper.readTree(voJson);  
  27.     getValueByFind(node, "age");  
  28.     getFirstValueByFind(node, "age");  
  29.   
  30. }  


 

哈哈,這樣寫(xiě)是不是比第二篇里面的方便多了?但是有個(gè)缺點(diǎn)啊,不能指定路徑。也就是說(shuō)它會(huì )把當前json字符串中的所有匹配屬性的值都取出來(lái),如果你沒(méi)有指定路徑的要求 這種方法無(wú)疑很方便。

好了貼上兩個(gè)方法的代碼……

  1. /** 
  2.  * 使用find的方法從實(shí)體中取出所有匹配的值 
  3.  *  
  4.  * @param vo 
  5.  * @param path 
  6.  * @return 
  7.  */  
  8. public static List<String> getValueByFind(JsonNode node, String path) throws Exception {  
  9.     List<String> values = new ArrayList<String>();  
  10.     /* 
  11.      * values = node.findValuesAsText(path); 這里提供兩種方法 一種是只填寫(xiě)path 
  12.      * 它會(huì )返回List<String>,另外一種就是下面用的 它會(huì )直接把找到的value填到你傳入的集合中 
  13.      */  
  14.     node.findValuesAsText(path, values);  
  15.     System.out.println(Arrays.toString(values.toArray()));  
  16.     return values;  
  17. }  


 

  1. /** 
  2.  * 查找當前Node中第一個(gè)匹配的值 
  3.  *  
  4.  * @param node 
  5.  * @param path 
  6.  * @return 
  7.  * @throws Exception 
  8.  */  
  9. public static int getFirstValueByFind(JsonNode node, String path) throws Exception {  
  10.     /* 
  11.      * 注意這點(diǎn)不能使用getTextValue()方法,因為找到的值為Int類(lèi)型的所以使用getTextValue是查不到值的。 
  12.      * 不過(guò)如果想返回String字符串可以使用asText()方法。這里使用asInt是為了看到其實(shí)JackSon是可以直接返回相應類(lèi)型的值的。 
  13.      */  
  14.     int value = node.findValue(path).asInt();  
  15.     System.out.println(value);  
  16.     return value;  
  17. }  


 

其實(shí)Jackson中的JsonNode還有許多其它方法,都可以根據名字來(lái)看出它的含義??梢試L試著(zhù)進(jìn)行學(xué)習……
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
布隆過(guò)濾器java實(shí)現
Go Web 框架 Gin 路由的學(xué)習
必知必會(huì )的40個(gè)C#語(yǔ)言方面的技術(shù)細節
Java的方法的參數傳遞,值傳遞和引用傳遞還有String字符串傳遞
一個(gè)經(jīng)過(guò)改良的XMLHelper(包含了序列化,反序列化,創(chuàng )建xml文件,讀取節點(diǎn),C#對...
c#做的資源管理器 - zhangjingjing - 51CTO技術(shù)博客
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久