javabean和json的常用轉換解析
轉載自:https://blog.csdn.net/js_sky/article/details/50357470
首先簡單說一下幾個json技術的簡介:
1 json-lib和Jackson
這兩種都是比較早期的json技術,json-lib已經沒有多少人使用,作為最早的json技術,依賴包太多,在當前開發中功能和效能都已不能滿足開發需求。jackson相當於json-lib簡單易用,由於是開源框架,社群活躍,更新速度也可以,但是對於一些list和map容易出問題,複雜的javabean也不能生成標準的json格式,所以也不常用。
2 谷歌GSON
Gson是目前功能最全的Json解析神器,Gson當初是為因應Google公司內部需求而由Google自行研發而來。Gson的應用主要為toJson與fromJson兩個轉換函式,無依賴,不需要例外額外的jar,能夠直接跑在JDK上。Gson在功能上面無可挑剔,但是效能上面比FastJson有所差距。
3 阿里巴巴fastjson
Fastjson是一個Java語言編寫的高效能的JSON處理器,由阿里巴巴公司開發。無依賴,不需要例外額外的jar,能夠直接跑在JDK上。FastJson在複雜型別的Bean轉換Json上會出現一些問題,可能會出現引用的型別,導致Json轉換出錯,需要制定引用。FastJson採用獨創的演算法,將parse的速度提升到極致,超過所有json庫。
對於這四種json技術,基本上都是使用後兩者。如果只是功能要求,沒有效能要求,儘量使用google的Gson,如果有效能上面的要求可以使用Gson將bean轉換json確保資料的正確,使用FastJson將Json轉換Bean。
下面是簡單的程式碼展示:
maven依賴:
- <!-- GSON工具 -->
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.2.4</version>
- </dependency>
- <!-- GSON工具 -->
- <!-- 阿里巴巴fastjson -->
- <dependency>
- <groupId
- <artifactId>fastjson</artifactId>
- <version>1.2.4</version>
- </dependency>
- <!-- 阿里巴巴fastjson -->
- /**
- * 使用谷歌GSON工具來實現JSON和Object轉換
- */
- @Test
- publicvoid testGSON() {
- Milk milk = new Milk();
- milk.setName("銀鷺核桃");
- milk.setBrand("銀鷺");
- milk.setType("混合牛奶");
- // Gson().toJson(Object)實現javaBean到json資料轉換
- String gsonString = new Gson().toJson(milk);
- System.out.println(gsonString);
- // Gson().fromJson(json, clazz)實現json到javaBean的轉換
- Milk milk2 = new Gson().fromJson(gsonString, Milk.class);
- System.out.println(milk2.getName());
- }
- /**
- * 使用阿里巴巴fastjson實現JSON和Object轉換
- */
- @Test
- publicvoid testFastjson(){
- Milk milk = new Milk();
- milk.setName("冰糖雪梨");
- milk.setBrand("冰糖");
- milk.setType("混合果汁");
- //使用JSON.toJSONString(obj)方式來實現javaBean到json
- String jsonString=JSON.toJSONString(milk);
- System.out.println(jsonString);
- //使用JSON.parseObject(jsonString, clazz)可以將json資料轉換成相應的javabean,可以是實體類,也可以是List,Map等集合類
- Milk milk2=JSON.parseObject(jsonString, Milk.class);
- System.out.println(milk2.getName());
- }
相關推薦
javabean和json的常用轉換解析
轉載自:https://blog.csdn.net/js_sky/article/details/50357470首先簡單說一下幾個json技術的簡介: 1 json-lib和Jackson 這兩種都是比較早期的json技術,json-lib已經沒有多少人使用,作為最
python + openpyxl + Jinja2(解析excel生成javaBean和json)
模版 package {{ package }}; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.In
數據集和JSON相互轉換
tostring 解析 con orm sys tail while string XML 使用DELPHI原生類實現數據集和JSON相互轉換 JSON二要素:數組和對象。對象可以包含數組,數組可以包含對象。無層數限制。OLEVARIANT也類似,OLEVARIANT的一
python 對象和json互相轉換
processor val 2.6 構造 lar list tor sta python對象 一、python對json的支持 從python2.6開始,python標準庫中添加了對json的支持,操作json時,只需要import json即可。 二、python
c#中 xml和json 互相轉換
XML serialize AD -- ldo data nod load str --xml轉json XmlDocument doc = new XmlDocument(); doc.LoadXml(result); st
使用json-org包實現POJO和json的轉換
div 轉換成 json 對象 ring 轉換 add nbsp -o 使用json-org包實現POJO和json的轉換 這個jar包把對象轉換成json超級舒服,所以順便記錄一下吧 把單個pojo對象轉換成json對象 Student student
Java中物件和json互相轉換的工具類
package com.Dingyu.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaT
java 資料map和json互相轉換
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSON; import net.sf.json.JSONObject; import com.googl
extjs4中json字串和json物件轉換
用extjs也有一段時間了,但有些東西就是記不住,就比如json字串和json物件的轉換,我還是把它記下來。 將json字串轉為json物件 var str = '{ "name": "張三", "age": "23" }' var obj = JSON.parse(str); 將j
js中json字串和json物件轉換
準備: 1.json字串 var jsonString="{”name“:"張三","value":"13"}"; 2.json物件 var jsonObject={”name“:"張三","value":"13"}; 3.json陣列 var jsonArray=[{”
JavaBean與JSON的轉換
<p><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">阿里巴巴開源的FastJSON,效率是非常高的。一般用
xml和JSON相互轉換的Java實現
依賴的包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar xom-1.2.1.jar commons-lang-2.1.jar commons-io-1.3.2.jar jaxen-1.1.jar 輸入xml檔案,輸出JSON物件 Java程式碼 pa
JAXB實現JavaBean和xml互相轉換
一、簡介 JAXB(Java API for XML Binding)是一個業界的標準,是一項可以根據XML Schema產生Java類的技術。JAXB也提供了將XML例項文件反向生成
JSON.parse()和JSON.stringify()用法解析
1、parse用於從一個字串中解析出json物件,如 var str = '{"name":"huangxiaojian","age":"23"}' 結果: JSON.parse(str) Object age: "23"name: "huangxiaojian"__
javabean和map相互轉換工具類
javabean與map的轉換有很多種方式,比如: 1、通過json工具先將bean轉換為json,再將json轉換為map,這種方式效率很低,不推薦 2、通過java反射,獲取bean類的屬性和值,再轉換到map對應的鍵值對中,這種方法次之,但稍微有點麻煩,不推薦 3
iOS 中 Model 和 JSON 互相轉換
屬性 容錯 sel all dict 獲得 tle chm 相差 iOS 中 Model 和 JSON 互相轉換 基本原理 利用 runtime 原理,獲取模型中所有實例變量列表,根據實例變量以此獲取模型中成員變量的名稱和屬性類型,區分Foundation和自定
FastJSON 阿里巴巴 json字串轉為物件,和json轉換為javabean物件
//Javabean物件轉換成String型別的JSON字串 JSONObject.toJSONString(Javabean物件) //String型別的JSON字串轉換成Javabean物件 JSONObject.toJavaObject(JSON字串,Javabean.class
FastJSON 阿里巴巴 json字串轉為物件,和json轉換為javabean物件
//Javabean物件轉換成String型別的JSON字串 JSONObject.toJSONString(Javabean物件) //String型別的JSON字串轉換成Javabean物件 JSONObject.toJavaObject(JSON字串,Javabea
常用資料格式xml和json解析
jsoup xml格式資料原生解析有pull和sax兩種方式,主要是有兩個不同的工廠類XmlPullParserFactory和SaxParserFactory。 介紹一種框架解析jsoup。 /* * 1.使用 Jsoup 載入 H
接受第三方介面返回的json資料,解析轉換成Javabean
我的微信端專案使用到了json 資料傳輸格式,在這記錄一下,剛開始時是一臉的懵逼。 通過HttpClientUtils.post()工具類傳送json資料,使用字串String接受返回的json資料。 String res=HttpClientUtils.po