菜鳥也想學習JSON解析
提示:以下則是Java小白的學習筆記
提示:可多看
前言
提示:假如你想學習JSON解析,那就多看兩眼呀
提示:以下是本篇文章正文內容,下面案例可供參考
一、JSON是什麼?
示例:JSON: JavaScript Object Notation JS物件簡譜 , 是一種輕量級的資料交換格式.
二、物件格式
一本書
書名
簡介
java
class Book{
private String name;
private String info;
get/set...
}
Book b = new Book();
b.setName(“金蘋果”);
b.setInfo(“種蘋果”);
...
js:
var b = new Object();
b.name = "金蘋果";
b.info = "種蘋果";
XML:
<book>
<name>金蘋果</name>
<info>種蘋果</info>
</book>
JSON:
{
"name":"金蘋果",
"info":"種蘋果"
}
一個物件, 由一個大括號表示.
括號中 描述物件的屬性 . 通過鍵值對來描述物件的屬性
(可以理解為, 大括號中, 包含的是一個個的鍵值對.)
格式:
鍵與值之間使用冒號連線, 多個鍵值對之間使用逗號分隔.
鍵值對的鍵 應使用引號引住 (通常Java解析時, 鍵不使用引號會報錯. 而JS能正確解
析.)
鍵值對的值, 可以是JS中的任意型別的資料
三、陣列格式
在JSON格式中可以與物件互相巢狀
[元素1,元素2…]
案例:
{
"name":"偉傑老師",
"age":18,
"pengyou":["張三","李四","王二","麻子",{
"name":"野馬老師",
"info":"像匹野馬一樣狂奔在技術鑽研的道路上"
}],
"heihei":{
"name":"大長刀",
"length":"40m"
}
}
四、Java與JSON
做什麼?
將Java中的物件 快速的轉換為 JSON格式的字串.
將JSON格式的字串, 轉換為Java的物件.
五、Gson
(一):將物件轉換JSON字串的步驟:
1. 引入JAR包
2. 在需要轉換JSON字串的位置編寫如下程式碼即可:
String json = new Gson().toJSON(要轉換的物件);
案例:
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);
(二):將JSON字串轉換為物件
1. 引入JAR包
2. 在需要轉換Java物件的位置, 編寫如下程式碼:
物件 = new Gson().fromJson(JSON字串,物件型別.class);
案例:
String json = "{\"id\":1,\"name\":\"金蘋果\",\"author\":\"李偉傑
\",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);
六、FastJson
(一):將物件轉換JSON字串的步驟:
1. 引入JAR包
2. 在需要轉換JSON字串的位置編寫如下程式碼即可:
String json=JSON.toJSONString(要轉換的物件);
案例:
Book b = BookDao.find();
String json=JSON.toJSONString(b);
System.out.println(json);
(二):將JSON字串轉換為物件
1. 引入JAR包
2. 在需要轉換Java物件的位置, 編寫如下程式碼:
型別 物件名=JSON.parseObject(JSON字串, 型別.class);
或
List<型別> list=JSON.parseArray(JSON字串,型別.class);
案例:
String json = "{\"id\":1,\"name\":\"金蘋果\",\"author\":\"李偉傑
\",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
Book book = JSON.parseObject(json, Book.class);
System.out.println(book);
相關文章
- 菜鳥如何學習自動化測試?新夢想
- 菜鳥也裝Linux(轉)Linux
- 菜鳥教程python 學習進度Python
- python菜鳥教程學習1:背景性學習Python
- Android菜鳥學習js筆記一AndroidJS筆記
- 菜鳥的資訊保安學習之路
- python菜鳥教程學習9:函式Python函式
- JavaScript 非同步及Promise 菜鳥學習心得JavaScript非同步Promise
- linux-鳥哥私房菜學習筆記Linux筆記
- python菜鳥教程學習13:檔案操作Python
- python菜鳥教程學習5: python運算子Python
- 跟著菜鳥學pythonPython
- 鳥哥私房菜學習筆記(第零章)筆記
- 【菜鳥讀原始碼】halo✍原始碼學習 (一)原始碼
- python菜鳥教程學習3:基礎語法Python
- 一個菜鳥管理的學習和思考(一)
- 一個菜鳥管理的學習和思考(二)
- 【菜鳥筆記|機器學習】神經網路筆記機器學習神經網路
- 菜鳥學習計劃淺談之Linux系統Linux
- 菜鳥求助!!!
- 菜鳥學Python之雜湊表Python
- 菜鳥也談js(一)——ES6解構物件篇JS物件
- Linux“菜鳥”到“菜鳥的一些建議Linux
- 前端學習-TypeScript菜鳥教程-002-TypeScript基礎知識前端TypeScript
- 菜鳥市場
- 《失落餘燼》:想變成天邊的鳥,也想化作水底的魚
- 我是如何自學C語言的(一個菜鳥的學習路)C語言
- hashmap == 菜鳥驛站?HashMap
- 菜鳥看前端(Git)前端Git
- java菜鳥入門Java
- 手寫Json解析器學習心得JSON
- C#、GIT詳細教程--菜鳥學院C#Git
- 菜鳥學python之用python找指定檔案Python
- 菜鳥程式設計師都是怎樣寫程式碼的?你也可以學一手程式設計師
- 簡單的Shell指令碼實戰演練,測試菜鳥也可以輕鬆學會指令碼
- Linux菜鳥到老鳥的那些建議Linux
- 鳥哥的LINUX私房菜_基礎學習篇(第三版)Linux
- 好程式設計師web前端分享菜鳥Vue學習筆記(二)程式設計師Web前端Vue筆記