1. 程式人生 > >javabean和json的常用轉換解析

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依賴:
 

  1. <!-- GSON工具 -->
  2. <dependency>
  3.     <groupId>com.google.code.gson</groupId>
  4.     <artifactId>gson</artifactId>
  5.     <version>2.2.4</version>
  6. </dependency>
  7. <!-- GSON工具 -->
  8. <!-- 阿里巴巴fastjson -->
  9. <dependency>
  10.     <groupId
    >com.alibaba</groupId>
  11.     <artifactId>fastjson</artifactId>
  12.     <version>1.2.4</version>
  13. </dependency>
  14. <!-- 阿里巴巴fastjson -->

  1. /** 
  2.      * 使用谷歌GSON工具來實現JSON和Object轉換 
  3.      */
  4.     @Test
  5.     publicvoid testGSON() {  
  6.         Milk milk = new Milk();  
  7.         milk.setName("銀鷺核桃");  
  8.         milk.setBrand("銀鷺");  
  9.         milk.setType("混合牛奶");  
  10.         // Gson().toJson(Object)實現javaBean到json資料轉換
  11.         String gsonString = new Gson().toJson(milk);  
  12.         System.out.println(gsonString);  
  13.         // Gson().fromJson(json, clazz)實現json到javaBean的轉換
  14.         Milk milk2 = new Gson().fromJson(gsonString, Milk.class);  
  15.         System.out.println(milk2.getName());  
  16.     }  

  1. /** 
  2.    * 使用阿里巴巴fastjson實現JSON和Object轉換 
  3.    */
  4. @Test
  5. publicvoid testFastjson(){  
  6.     Milk milk = new Milk();  
  7.     milk.setName("冰糖雪梨");  
  8.     milk.setBrand("冰糖");  
  9.     milk.setType("混合果汁");  
  10.     //使用JSON.toJSONString(obj)方式來實現javaBean到json
  11.     String jsonString=JSON.toJSONString(milk);  
  12.     System.out.println(jsonString);  
  13.     //使用JSON.parseObject(jsonString, clazz)可以將json資料轉換成相應的javabean,可以是實體類,也可以是List,Map等集合類
  14.     Milk milk2=JSON.parseObject(jsonString, Milk.class);  
  15.     System.out.println(milk2.getName());  
  16. }  
   詳細程式碼請參照github:https://github.com/LiuJishuai/javaCore/blob/master/src/com/basic_grammar/JsonTrans.java

相關推薦

javabeanjson常用轉換解析

轉載自:https://blog.csdn.net/js_sky/article/details/50357470首先簡單說一下幾個json技術的簡介:   1 json-lib和Jackson   這兩種都是比較早期的json技術,json-lib已經沒有多少人使用,作為最

python + openpyxl + Jinja2(解析excel生成javaBeanjson

模版 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#中 xmljson 互相轉換

XML serialize AD -- ldo data nod load str --xml轉json XmlDocument doc = new XmlDocument(); doc.LoadXml(result); st

使用json-org包實現POJOjson轉換

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 資料mapjson互相轉換

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=[{”

JavaBeanJSON轉換

<p><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">阿里巴巴開源的FastJSON,效率是非常高的。一般用

xmlJSON相互轉換的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實現JavaBeanxml互相轉換

一、簡介         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"__

javabeanmap相互轉換工具類

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

常用資料格式xmljson解析

jsoup xml格式資料原生解析有pull和sax兩種方式,主要是有兩個不同的工廠類XmlPullParserFactory和SaxParserFactory。 介紹一種框架解析jsoup。 /* * 1.使用 Jsoup 載入 H

接受第三方介面返回的json資料,解析轉換Javabean

我的微信端專案使用到了json 資料傳輸格式,在這記錄一下,剛開始時是一臉的懵逼。      通過HttpClientUtils.post()工具類傳送json資料,使用字串String接受返回的json資料。 String   res=HttpClientUtils.po