Json初步瞭解
阿新 • • 發佈:2021-02-10
Json
目前市場上大多用json,它已經成為了人們的首要選擇
json屬於輕量資料格式
基本上所有的型別都可以通過json來表示
json物件格式
一個物件, 由一個大括號表示.
括號中 描述物件的屬性 . 通過鍵值對來描述物件的屬性
(可以理解為, 大括號中, 包含的是一個個的鍵值對.)
格式:鍵與值之間使用冒號連線, 多個鍵值對之間使用逗號分隔.
鍵值對的鍵 應使用引號引住 (通常Java解析時, 鍵不使用引號會報錯. 而JS能正確解析.)
鍵值對的值, 可以是JS中的任意型別的資料
JSON:
{
“name”:“金蘋果”,
“info”:“種蘋果”
陣列格式
陣列的json表示形式
@GetMapping("arrays")
public int[] arraysToJson(){
//定義陣列
int[] a={1,2,3,4,5,6,7,8,9};
return a;
}
在JSON格式中可以與物件互相巢狀
[元素1,元素2…]
{
"name":"唐齊老師",
"age":20,
"pengyou":["圓圓","豆豆" ,"琪琪","花花",{
"name":"莉莉老師", "info":"功能性人才" }],
"heihei":{
"name":"大長刀",
"length":"40m"
}
}
Gson
1.將物件轉換為JSON字串
轉換JSON字串的步驟:
- 引入JAR包
- 在需要轉換JSON字串的位置編寫如下程式碼即可:
String json = new Gson().toJSON(要轉換的物件);
一. 引入JAR包
二. 在需要轉換Java物件的位置, 編寫如下程式碼: 物件 = new Gson().fromJson(JSON字串,物件型別.class);
Gson的簡單例子
import java.util.HashMap;
import java.util.List;
public class Demo3 {
public static void main(String[] args) {
//1. 建立Gson物件
Gson g = new Gson();
//2. 轉換 : {"id":"100","name":"金蘋果","info":"種植蘋果真辛苦","page":["鋤禾日當午","汗滴禾下土","嘿嘿嘿嘿嘿"]}
HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金蘋果\",\"info\":\"種植蘋果真辛苦\",\"page\":[\"鋤禾日當午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}", HashMap.class);
List page = (List) data.get("page");
System.out.println(page.get(1));
}
}
FastJson
1.將物件轉換為JSON字串
轉換JSON字串的步驟:
-
引入JAR包
-
.在需要轉換JSON字串的位置編寫如下程式碼即可:
String json=JSON.toJSONString(要轉換的物件);
2.將JSON字串轉換為物件
一. 引入JAR包
二. 在需要轉換Java物件的位置, 編寫如下程式碼:
型別 物件名=JSON.parseObject(JSON字串, 型別.class); 或
List<型別> list=JSON.parseArray(JSON字串,型別.class);FastJson的例子
import com.alibaba.fastjson.JSON;
public class Demo5 {
public static void main(String[] args) {
//1. 轉換 : {"id":"1002","info":"床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉。","name":"唐詩三百首"}
Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,疑是地上霜。舉頭望明月,低頭思故鄉。\",\"name\":\"唐詩三百首\"}", Book.class);
System.out.println(book.getId());
}
}
這是我目前對json的瞭解,希望大家可以指導我,謝謝!