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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

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

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

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

主要特點(diǎn):

  • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
  • 強(qiáng)大(支持普通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>>

 

復(fù)制代碼 代碼如下:

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ù),目標(biāo)是提取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這個(gè)屬性,并且setter和getter方法。

在setter方法中可以進(jìn)一步進(jìn)行處理

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

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 蜜桃视频一区二区 | 欧美做受 | 国产亚洲精品第一综合另类 | 狠狠的撞击发泄h | a毛片免费观看完整 | 国产综合成人久久大片91 | 亚洲精品短视频 | 青青草99热这里都是精品 | 亚洲一欧洲中文字幕在线 | 成年视频在线观看 | 国产 日韩 一区 | 韩国一级淫片特黄特刺激 | 青青草伊人久久 | 亚洲精品久久玖玖玖玖 | 91麻豆精东果冻天美传媒老狼 | 日本人成年视频在线观看 | 91久久99热青草国产 | 久久精品国产欧美日韩99热 | 日本免费三区 | 天码毛片一区二区三区入口 | 热99精品在线 | 好湿好紧太硬了我好爽 | 色琪琪久久草在线视频 | 欧美a欧美1级 | 性欧美高清理论片 | 亚洲品质自拍网站 | 国产xx肥老妇视频奂费 | 好大好硬好长好爽a网站 | 3d蒂法受辱在线播放 | 视频国产精品 | 日本不卡1卡2卡三卡网站二百 | 欧美成人影院免费观 | 国产成人在线小视频 | 久久五月综合婷婷中文云霸高清 | 欧美第十页| 亚洲AV久久无码精品九九软件 | 艾秋果冻麻豆老狼 | 国产精品视频免费观看 | 亚洲欧美另类专区 | 国产在线精品成人一区二区三区 | 国产精品视频第一区二区三区 |