電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>xjsonkits超輕量級(jí)JSON/xml/YAML解析門(mén)面API

xjsonkits超輕量級(jí)JSON/xml/YAML解析門(mén)面API

2022-06-14 | zip | 0.04 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 Apache
開(kāi)發(fā)語(yǔ)言 Java
操作系統(tǒng) 跨平臺(tái)
軟件類(lèi)型 開(kāi)源軟件

軟件簡(jiǎn)介

超輕量級(jí) JSON / XML / YAML?的?正序列化??反序列化??門(mén)面框架,不依賴(lài)具體的 JSON 實(shí)現(xiàn),讓業(yè)務(wù)代碼與 Jackson、Gson、Fastjson 等徹底?解耦,讓你可以在需要的時(shí)候輕松切換項(xiàng)目底層實(shí)現(xiàn)!

安裝教程

Maven

使用 JsonKit API


    com.ejlchina
    jsonkit-core
    1.3.1
?

使用 Jackson 底層實(shí)現(xiàn):


    com.ejlchina
    jsonkit-jackson
    1.3.1
?

使用 Gson 底層實(shí)現(xiàn):


    com.ejlchina
    jsonkit-gson
    1.3.1
?

使用 Fastjson 底層實(shí)現(xiàn):


    com.ejlchina
    jsonkit-fastjson
    1.3.1
?

以上依賴(lài)添加一個(gè)即可。

Gradle

implementation 'com.ejlchina:jsonkit-core:1.3.1'
?

使用 Jackson 底層實(shí)現(xiàn):

implementation 'com.ejlchina:jsonkit-jackson:1.3.1'
?

使用 Gson 底層實(shí)現(xiàn):

implementation 'com.ejlchina:jsonkit-gson:1.3.1'
?

使用 Fastjson 底層實(shí)現(xiàn):

implementation 'com.ejlchina:jsonkit-fastjson:1.3.1'
?

以上依賴(lài)添加一個(gè)即可。

使用說(shuō)明

反序列化 toMapper

String json = "{"name":"Jack","age":20}";
// 轉(zhuǎn)換為具有映射結(jié)構(gòu)的 Mapper 對(duì)象
Mapper mapper = JSONKit.toMapper(json);

// 第一層的鍵集合大小
int size = mapper.size();               // 2
// 第一層的鍵值集合
Set<String> keys = mapper.keySet();     // ["name", "age"]
// 按鍵名訪(fǎng)問(wèn) String 屬性
String name = mapper.getString("name"); // Jack
// 按鍵名訪(fǎng)問(wèn) int 屬性
int age = mapper.getInt("age");         // 20
    
// 遍歷 Mapper 對(duì)象
mapper.forEach((key, data) -> {
    System.out.println(key);            // 依次輸出 name 和 age
    System.out.println(data);           // 依次輸出 Jack 和 20
});

System.out.println(mapper);             // 輸出 {"name":"Jack","age":20}
?

反序列化 toArray

String json = "[20,{"name":"Jack"},"JsonKit"]";
// 轉(zhuǎn)換為具有數(shù)組結(jié)構(gòu)的 Array 對(duì)象
Array array = JSONKit.toArray(json);

// 數(shù)組大小
int size = array.size();                // 3
// 按下標(biāo)獲取 int 數(shù)據(jù)
int value = array.getInt(0);            // 20
// 按下標(biāo)獲取 Mapper 數(shù)據(jù)
Mapper mapper = array.getMapper(1);     // {"name":"Jack"}
// 按下標(biāo)獲取 String 數(shù)據(jù)
String string = array.getString(2);     // JsonKit

// 遍歷 Array 對(duì)象
array.forEach(((index, data) -> {
    System.out.println(index);          // 依次輸出 0、 1 和 2
    System.out.println(data);           // 依次輸出 20、 {"name":"Jack"} 和 JsonKit
}));

System.out.println(array);              // 輸出 [20,{"name":"Jack"},"JsonKit"]
?

反序列化 toBean

String json = "{"name":"Jack","age":20}";
// 根據(jù)類(lèi)型 轉(zhuǎn)換為 Java Bean
User user = JSONKit.toBean(User.class, json);

String name = user.getName();           // Jack
int name = user.getAge();               // 20
?

反序列化 toList

String json = "[{"name":"Jack","age":20}, {"name":"Tom","age":21}]";
// 根據(jù)類(lèi)型 轉(zhuǎn)換為 Java List
List<User> list = JSONKit.toList(User.class, json);

int size = list.size();                 // 2
User user1 = list.get(0);               // {"name":"Jack","age":20}
User user2 = list.get(1);               // {"name":"Tom","age":21}
?

正序列化 toJson

User user = new User();
user.setName("Jack");
user.setAge(20);

String json = JSONKit.toJson(user);     // 轉(zhuǎn)換為 JSON 字符串

System.out.println(json);               // 輸出 {"age":20,"name":"Jack"}
?

配置 JSONKit

如果已經(jīng)添加了如?jsonkit-jackson?的適配包,默認(rèn)不用任何配置即可正常使用。

但如果需要特殊配置,例如使用 Jackson 時(shí),可在如下操作:

ObjectMapper objectMapper = new ObjectMapper();

// 對(duì) ObjectMapper 進(jìn)行配置...
    
// 對(duì) JSONKit 進(jìn)行初始化
JSONKit.init(new JacksonDataConvertor(ObjectMapper));
?

使用其它擴(kuò)展包也類(lèi)似操作。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)