国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Java FastJson使用教程

瀏覽:46日期:2022-08-22 18:59:22

Fastjson 是一個(gè) Java 庫,可以將 Java 對象轉(zhuǎn)換為 JSON 格式,當(dāng)然它也可以將 JSON 字符串轉(zhuǎn)換為 Java 對象。Fastjson 可以操作任何 Java 對象,即使是一些預(yù)先存在的沒有源碼的對象。Fastjson 源碼地址:https://github.com/alibaba/fastjsonFastjson 擴(kuò)展閱讀:https://www.w3cschool.cn/fastjson/

一、Fastjson 特性

提供服務(wù)器端、安卓客戶端兩種解析工具,性能表現(xiàn)較好。 提供了 toJSONString() 和 parseObject() 方法來將 Java 對象與 JSON 相互轉(zhuǎn)換。調(diào)用toJSONString方 法即可將對象轉(zhuǎn)換成 JSON 字符串,parseObject 方法則反過來將 JSON 字符串轉(zhuǎn)換成對象。 允許轉(zhuǎn)換預(yù)先存在的無法修改的對象(只有class、無源代碼)。 Java泛型的廣泛支持。 允許對象的自定義表示、允許自定義序列化類。 支持任意復(fù)雜對象(具有深厚的繼承層次和廣泛使用的泛型類型)。

二、FastJson 使用(配置 maven 依賴)

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>x.x.x</version></dependency>

其中 x.x.x 是版本號,根據(jù)需要使用特定版本,建議使用最新版本。

三、創(chuàng)建 JSON 對象

創(chuàng)建 JSON 對象非常簡單,只需使用 JSONObject(fastJson提供的json對象) 和 JSONArray(fastJson提供json數(shù)組對象) 對象即可。我們可以把JSONObject 當(dāng)成一個(gè) Map<String,Object> 來看,只是 JSONObject 提供了更為豐富便捷的方法,方便我們對于對象屬性的操作。我們看一下源碼。

Java FastJson使用教程

同樣我們可以把 JSONArray 當(dāng)做一個(gè) List<Object>,可以把 JSONArray 看成 JSONObject 對象的一個(gè)集合。

Java FastJson使用教程

此外,由于 JSONObject 和 JSONArray 繼承了 JSON,所以說也可以直接使用兩者對 JSON 格式字符串與 JSON 對象及 javaBean 之間做轉(zhuǎn)換,不過為了避免混淆我們還是使用 JSON。

@Testpublic void whenGenerateJson_thanGenerationCorrect() throws ParseException { JSONArray jsonArray = new JSONArray(); for (int i = 0; i < 2; i++) { JSONObject jsonObject = new JSONObject(); jsonObject.put('AGE', 10); jsonObject.put('FULL NAME', 'Doe ' + i); jsonObject.put('DATE OF BIRTH', '2016/12/12 12:12:12'); jsonArray.add(jsonObject); } String jsonOutput = jsonArray.toJSONString();}

四、JSON 字符串轉(zhuǎn)換為 Java 對象

現(xiàn)在我們已經(jīng)學(xué)會了如何創(chuàng)建 JSON 對象,以及如何將 Java 對象轉(zhuǎn)換為 JSON 字符串,接下來我們就需要了解如何解析 JSON

@Testpublic void whenJson_thanConvertToObjectCorrect() { Person person = new Person(20, 'John', 'Doe', new Date()); String jsonObject = JSON.toJSONString(person); Person newPerson = JSON.parseObject(jsonObject, Person.class); assertEquals(newPerson.getAge(), 0); // 如果我們設(shè)置系列化為 false assertEquals(newPerson.getFullName(), listOfPersons.get(0).getFullName());}

五、fastjson 常用 API

fastjson API 入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜態(tài)方法直接完成。

public static final Object parse(String text); // 把JSON文本parse為JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse為JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 將JavaBean序列化為JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化為帶格式的JSON文本 public static final Object toJSON(Object javaObject); //將JavaBean轉(zhuǎn)換為JSONObject或者JSONArray。

六、JSONField與JSONType注解的使用

fastjson提供了JSONField對序列化與反序列化進(jìn)行定制,比如可以指定字段的名稱,序列化的順序。

其中serializeUsing與deserializeUsing可以用于對字段的序列化與反序列化進(jìn)行定制化。

以上就是Java FastJson使用教程的詳細(xì)內(nèi)容,更多關(guān)于Java FastJson的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲免费网址 | 成人亚洲精品一区二区 | 成人欧美一区二区三区在线观看 | 成年人视频在线免费播放 | 国产午夜亚洲精品国产 | 国产香蕉98碰碰久久人人 | 欧美精品三级在线 | 99国产福利视频区 | 国产高清视频免费在线观看 | 99在线精品视频在线观看 | 国内精品久久久久久中文字幕 | 日本一二线不卡在线观看 | 亚洲午夜久久久久国产 | 中国人免费观看高清在线观看二区 | 欧美一级专区免费大片俄罗斯 | 免费成人高清视频 | 欧美一区二区三区在线观看免费 | 免费人成黄页网站在线观看 | 成年人免费视频网站 | 欧美国产日韩久久久 | 最新在线精品国自拍视频 | 国产成人综合精品 | 色黄在线 | 亚洲精品视频久久 | 美女操男人| 成人aaaa| 欧美激情视频在线观看一区二区三区 | 亚洲在线看 | 亚洲国产欧美精品一区二区三区 | 手机看片国产欧美日韩高清 | 午夜不卡视频 | 亚洲精品区一区二区三区四 | 亚洲国产精品成人精品软件 | 亚洲bt欧美bt国产bt | 性欧美videos俄罗斯 | 色黄啪啪18周岁以下禁止观看 | 4tube高清性欧美 | 欧美三级在线观看视频 | 久久国产精品-国产精品 | 九九久久精品 | 国产精选一区 |