一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java使用FastJson解析Json數(shù)據(jù)

java使用FastJson解析Json數(shù)據(jù)

2020-08-05 11:24parallel0 Java教程

本篇文章主要介紹了java使用FastJson解析Json數(shù)據(jù),fastjson 是一個性能極好的用 Java 語言實現(xiàn)的 JSON 解析器和生成器,有興趣的可以了解一下。

fastjson 是一個性能極好的用 Java 語言實現(xiàn)的 JSON 解析器和生成器,來自阿里巴巴的工程師開發(fā)。

主要特點:

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
  • 強大(支持普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum)
  • 零依賴(沒有依賴其它任何類庫除了JDK)

一 、生成Json

JavaBean、List<JavaBean>、List<String>、List<Map<String,Object>>

java" id="highlighter_318043">
?
1
String jsonString = JSON.toJSONString(obj);

二、解析Json:

(1)JavaBean

?
1
Class class= JSON.parseObject(jsonString, Class.class);

(2)List<JavaBean>

?
1
List<Class> class=JSON.parseArray((jsonString, Class.class);

(3)List<String>

?
1
List<String> listString = JSON.parseArray(jsonString, String.class);

(4)List<Map<String,Object>>

 

復制代碼 代碼如下:

List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){}); 

 

現(xiàn)有這樣的json數(shù)據(jù):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{"totalRecords":2615,
"result":{"code":"200","status":"success"},
"list":[{"unuAbnId":"0bcd930f-014c-1000-e003-5f160a0d0114",
"entNo":"1c2e4ca8-00fa-1000-e000-74590a76bf0f",
"regNO":"442000600169663",
"entName":"x",
"entType":"9910 ",
"speCause":"3",
"abnTime":"Mar 13, 2015 12:00:00 AM",
"decOrg":"442020",
"entNameUrl":"<a href=\".. ",
"auditingFileNo":"15000684990326",
"abnormalID":"fd74013d-014b-1000-e00a-72970a0d0114"},{...},{...},...],
"pageNo":1,
"pageSize":8,
"url":"main/abnInfoPage",
"selList":[{"unuAbnId":"0bcd930f-014c-1000-e003-5f0f0a0d0114",
"entNo":"16da9629-0131-1000-e005-3effc0a803a8",
"regNO":"442000602187424",
"entName":"x",
"entType":"9910 ",
"speCause":"3",
"abnTime":"Mar 13, 2015 12:00:00 AM",
"decOrg":"442020",
"entNameUrl":"<a href=\"..\">",
"auditingFileNo":"15000684990319",
"abnormalID":"fd74013d-014b-1000-e00a-72970a0d0114"},{...},{...},...],
"topPageNo":1,
"totalPages":327,
"previousPageNo":0,
"nextPageNo":2,
"bottomPageNo":327
}

其中l(wèi)ist含有2615條數(shù)據(jù),selList含有8條數(shù)據(jù),目標是提取selList中entNameUrl的鏈接(不含a href=)
外層是JSONObject,里面的list和selList是JSONArrary,再里面是JSONObject。其中的result也是JSONObject

?
1
2
3
JSONObject jsonObj = JSON.parseObject(rawText);
JSONArray result = jsonObj.getJSONArray("selList");
List<Link> links= JSON.parseArray(result.toJSONString(),Link.class);

其中Link類中要有entNameUrl這個屬性,并且setter和getter方法。

在setter方法中可以進一步進行處理

?
1
2
3
public void setEntNameUrl(String entNameUrl) {
   this.entNameUrl =Html.create(entNameUrl).links().get();
}

這里使用了自定方法,其功能就是取出字符串中的鏈接。

Link類中可以包含abnTime、entName、regNO等屬性和對應的getter和setter方法,FastJson能自動映射。

通過下面的方法也可以處理:

?
1
2
3
4
JSONObject jsonObj = new JSONObject(rawText);
JSONArray jsonArray = result .getJSONArray("selList");
for (int i = 0; i < jsonArray.length; i++) {  
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/g1apassz/article/details/44456293

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 喷奶水榨乳ova动漫无修 | a级片在线观看免费 | 日韩伦理在线免费观看 | 香蕉国产精品偷在线播放 | 麻豆在线传煤 | 精品一区二区三区自拍图片区 | 色天天综合网色鬼综合 | heyzo1754北岛玲在线视频 | bbbbbbaaaaaa毛片 | 亚洲男人的天堂成人 | 91久久夜色精品国产九色 | 免费日本视频 | 久久久亚洲国产精品主播 | 久久婷婷五月综合色丁香 | 99热这里只有精品一区二区三区 | 奇米影视久久777中文字幕 | 日本妇人成熟免费观看18 | 日韩在线二区全免费 | 精品视频在线播放 | free性泰国娇小videos | 亚洲国产欧美目韩成人综合 | 五月天精品在线 | 深夜福利免费观看 | 男人亚洲天堂 | 日本红怡院亚洲红怡院最新 | 日韩在线一区二区三区免费视频 | 性xxxx18学生第一次出血 | 四虎影视在线看免费 720p | 日本加勒比无码av | 高清麻生希在线 | freefron性中国 | 亚洲婷婷在线视频 | 国色天香视频完整版 | 国产91精品久久久久久 | 色哟哟在线播放 | 日日碰碰| 亚洲精品丝袜在线一区波多野结衣 | 扒开老女人 | 午夜理伦片免费 | 欧美破处摘花 | 母性本能|