gson-2.2.api簡單

?

使用gson的tojson和fromjson實現對象和json的轉換

Gson gson = new Gson(); // Or use new GsonBuilder().create();
?? ? MyType target = new MyType();
?? ? String json = gson.toJson(target); // serializes target to Json
?? ? MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2

?

?Type listType = new TypeToken<List<String>>() {}.getType();
???? List<String> target = new LinkedList<String>();
???? target.add("blah");
???? Gson gson = new Gson();
???? String json = gson.toJson(target, listType);
???? List<String> target2 = gson.fromJson(json, listType);

?

?使用GsonBuilder創建gson對象
??? ? Gson gson = new GsonBuilder()
??? ??? ?.registerTypeAdapter(Id.class, new IdTypeAdapter())
??? ??? ?.enableComplexMapKeySerialization()
??? ??? ?.serializeNulls()
??? ??? ?.setDateFormat(DateFormat.LONG)
??? ??? ?.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
??? ??? ?.setPrettyPrinting()
??? ??? ?.setVersion(1.0)
??? ??? ?.create();
?
??? ??? ?? Gson gson = new GsonBuilder()
?????? .register(Point.class, new MyPointTypeAdapter())
?????? .enableComplexMapKeySerialization()
?????? .create();

?

map對象轉換成json對象

? Gson gson = new GsonBuilder()
?????? .register(Point.class, new MyPointTypeAdapter())
?????? .enableComplexMapKeySerialization()
?????? .create();

?? Map<Point, String> original = new LinkedHashMap<Point, String>();
?? original.put(new Point(5, 6), "a");
?? original.put(new Point(8, 8), "b");
?? System.out.println(gson.toJson(original, type));
?

?? ?The above code prints this JSON object:

? {
???? "(5,6)": "a",
???? "(8,8)": "b"
?? }


?map對象轉化成jsonArray對象:

Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();Map<Point, String> original = new LinkedHashMap<Point, String>();original.put(new Point(5, 6), "a");original.put(new Point(8, 8), "b");System.out.println(gson.toJson(original, type));The JSON output would look as follows:
   [[{"x": 5,"y": 6},"a"],[{"x": 8,"y": 8},"b"]]


JsonParser

parse方法將json類型的字符串,或者reader對象或者JsonReader對象解析成為jsonElement對象

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458493.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458493.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458493.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用戶需求、己、競爭對手的關系

圖一 圖二 圖三 如第一圖所示&#xff1a;現在在市面上的產品基本上都可以歸納為這一方面&#xff0c; 如“用戶需求”是網上購物的需求&#xff0c;以“己”是京東為例子&#xff0c;“己”的…

SharePoint 入門介紹

from&#xff1a;http://www.cnblogs.com/jianyus/archive/2013/01/11/2856963.html 前言&#xff1a;接觸SharePoint兩年有余&#xff0c;從一開始的小白&#xff0c;變成現在的菜鳥&#xff0c;一路走來&#xff0c;學到很多&#xff0c;現在&#xff0c;想把自己知道的東西&…

AJAX-服務器響應

服務器響應 如需獲得來自服務器的響應&#xff0c;請使用 XMLHttpRequest 對象的 responseText 或 responseXML 屬性。 屬性 描述 responseText 獲得字符串形式的響應數據。 responseXML 獲得 XML 形式的響應數據。 responseText 屬性 如果來自服務器的響應并非 XML&#xff0c…

c#下不同命名空間的引用(一個project使用另外一個project的名稱空間)

http://bbs.csdn.net/topics/300089064 兩個命名空間在同一個項目中時&#xff0c;沒有任何問題。 若兩個命名空間不在同一個項目中&#xff0c;則變成兩個程序集之間的互相引用。 程序集之間的引用無所謂循環不循環的問題。 但如果兩個程序集要互相引用&#xff0c;并且兩個…

數據結構比較型排序算法分析及選擇

比較型算法分為五類&#xff1a; 1、插入排序&#xff1a;直接插入排序、折半插入排序、希爾排序&#xff1b; 2、選擇排序&#xff1a;直接選擇排序、堆排序&#xff1b; 3、交換排序&#xff1a;快速排序、冒泡排序&#xff1b; 4、歸并排序&#xff1b; 5、基數排序&#xf…

onreadystatechange 事件

onreadystatechange 事件 當請求被發送到服務器時&#xff0c;我們需要執行一些基于響應的任務。 每當 readyState 改變時&#xff0c;就會觸發 onreadystatechange 事件。 readyState 屬性存有 XMLHttpRequest 的狀態信息。 下面是 XMLHttpRequest 對象的三個重要的屬性&#…

Frequent Pattern 挖掘之二(FP Growth算法)(轉)

FP樹構造 FP Growth算法利用了巧妙的數據結構&#xff0c;大大降低了Aproir挖掘算法的代價&#xff0c;他不需要不斷得生成候選項目隊列和不斷得掃描整個數據庫進行比對。為了達到這樣的效果&#xff0c;它采用了一種簡潔的數據結構&#xff0c;叫做frequent-pattern tree(頻繁…

C# 兩個類之間傳遞數據

1、通過全局變量 2、通過構造函數傳遞參數 3、通過委托實現通過委托例子&#xff1a;WebForm1 向Class1傳遞參數值&#xff1a; // namespace WebApplication2{public partial class WebForm1 : System.Web.UI.Page{//step1.聲明一個委托public delegate void DoSomethingEvent…

可行性研究課后題

題目: 為方便儲戶&#xff0c;某銀行擬開發計算機儲蓄管理系統。儲戶填寫的存款單或取款單由銀行柜臺業務員鍵入系統&#xff0c;如果是存款&#xff0c;系統記錄存款人姓名、住址、存款類型、存款日期、利息等信息&#xff0c;并印出存款單給儲戶;如果是取款&#xff0c;系統進…

jQuery語法

jQuery不是W3C標準&#xff01; jQuery使用CSS選擇器來選取元素。 jQuery語法 一、jury語法是為HTML元素的選取編制的&#xff0c;可以對元素執行某些操作。 基礎語法是&#xff1a;$(selector).action() .美元符號定義jQuery .選擇符&#xff08;selector&#xff09;“查…

Sublime 解決目錄顯示為方塊的問題

2019獨角獸企業重金招聘Python工程師標準>>> 修改Perferences->Settings-User { "font_face": "Consolas Italic", #傳說這個字體比較好看。 "font_size": 15, "ignored_packages": [ "Vintage" ], "dpi…

VS toolTip1控件的使用1

http://blog.csdn.net/Mr_Liyong/article/details/780141381、在工具欄找到“toolTip”控件后拖到窗體后&#xff0c;窗體下方會顯示此控件則拖放成功。 2、單擊此控件右鍵選擇屬性&#xff1a;開始 修改屬性。 3、當添加一個TOOLTIP控件后&#xff0c;在WINFORM界面上所有的控…

python 代碼片段9

#codingutf-8# 字符串指示符號 r表示raw u表示unicodemystringuthis is unicode!--by print mystring# raw表示告訴解釋器不要轉換字符串任何字符filerc:\temp\folder\robots.txt print file# 另一個實用raw的地方是正則表達式# 可以在內放任何的字符串&#xff0c;不需要轉義&…

【TL】【編碼】瞬間移動-百度之星初賽(Astar Round2B)1003-2016.05.22

瞬間移動 Accepts: 1018 Submissions: 3620Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description有一個無限大的矩形&#xff0c;初始時你在左上角&#xff08;即第一行第一列&#xff09;&#xff0c;每次你都可以選擇一個…

藍懿IOS委托模式代理模式

今天劉國斌老師講了有關oc語言里的委托模式&#xff08;代理模式&#xff09;&#xff0c;通過了一個打地鼠的游戲講解了委托模式的功能作用&#xff0c;之后連帶講解了協議的書寫和使用。 打地鼠功能包括屏幕隨機出現地鼠&#xff0c;點擊消失&#xff0c;如果不點擊5秒后自…

C#調用C++類(以COM組件的形式)

如果想用C#調用C/C寫的函數&#xff0c;可以先將C/C的函數寫成dll文件&#xff0c;由C#用DllImport的方式來調用&#xff0c;但是這種方法無法調用C寫的類&#xff0c;如果想調用C類&#xff0c;可以先把C類封裝成COM組件&#xff0c;再由C#來調用。方法如下&#xff08;以VS20…

Duplicate interface definition for class

在添加文件之后&#xff0c;報 Duplicate interface definition for class 原因是&#xff1a;重復添加文件 仔細檢查檢查

dom解析xml

為什么80%的碼農都做不了架構師&#xff1f;>>> 轉載自&#xff1a;http://www.cnblogs.com/shenliang123/archive/2012/05/11/2495252.html 使用eclipse需要手動導入crimson.jar包 org.w3c.dom(java dom)解析XML文檔 位于org.w3c.dom操作XML會比較簡單&#xff0c…

逃離北上廣:你以為回到小城市就非常幸福了嗎?

忘記在哪兒看的了。感覺不錯&#xff0c;隨手發出來。我博客也有更新&#xff0c;底下有留個人博客鏈接 在過去幾年里。“逃離北上廣”一直是一個熱門短語。拿我自己來說&#xff0c;工作在上海&#xff0c;但又不是上海人。畢業后&#xff0c;就選擇租房&#xff0c;首先就為這…

Redefinition of enumerator ios

添加文件之后 報 Redefinition of enumerator iOS 原因是&#xff1a;重復添加文件 仔細檢查檢查