本篇為JAVA自動化的第一篇章,主要為JSON得序列化與反序列化
主要講述后續(xù)自動化中能夠使用得部分,如果想了解更多可以查看官方文檔
學(xué)習(xí)條件:JAVA基礎(chǔ)部分
JSON(JavaScript Object Notation, JavaScript 對象表示法) 是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。
JSON語法規(guī)則1.數(shù)據(jù)在鍵值對當(dāng)中
2.數(shù)據(jù)由逗號分隔
3.大括號{}保存對象
{"name": "Kai",
"age": "25"
}
4.中括號保存數(shù)組
{"hobby": ["吃飯", "睡覺", "打豆豆"]
}
JSON值類型:{"name": "Kai",
"age": 25,
"height": 180,
"isSingle": false,
"address": {"provinces": "上海市",
"city": "徐匯區(qū)"
},
"hobby": ["吃飯", "睡覺", "打豆豆"],
"weight": null
}
Jackson處理JSONJava生態(tài)圈中有很多處理Json格式化的類庫
常見的解析器:Jsonlib,Gson,fastjson,Jackson,我們一般使用Jackson來處理Json
Jackson是一個功能強大得Java序列化庫,除了json之外,還支持YAML,CSV,XML
Maven相關(guān)配置:https://mvnrepository.com 在此網(wǎng)站找到相關(guān)版本,或者直接復(fù)制下方
com.fasterxml.jackson.core jackson-databind 2.13.3
相關(guān)使用ObjectMapper是序列化/反序列化操作的核心,Jackson的所有操作都是在ObjectMapper中實現(xiàn)
ObjectMapper objectMapper = new ObjectMapper();
序列化:JAVA對象 -->JSON不管你是什么結(jié)構(gòu)的對象,想轉(zhuǎn)json,直接 objectMapper.writeValueAsString() 搞定。
對象轉(zhuǎn)json//先準(zhǔn)備一個學(xué)生類
public class Student {private String name;
private int age;
public Student() {}
public Student(String name, int age) {this.name = name;
this.age = age;
}
public String getName() {return name;
}
public void setName(String name) {this.name = name;
}
public int getAge() {return age;
}
public void setAge(int age) {this.age = age;
}
@Override
public String toString() {return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
//將學(xué)生類轉(zhuǎn)為json
package json;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonDemo1 {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper = new ObjectMapper();
Student student = new Student("Kai", 25);
String json = objectMapper.writeValueAsString(student);
System.out.println(json);
}
}
map轉(zhuǎn)jsonpackage json;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
public class JsonDemo2 {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper = new ObjectMapper();
HashMapmap = new HashMap<>();
map.put("test",1);
map.put("age",18);
String json = objectMapper.writeValueAsString(map);
System.out.println(json);
}
}
反序列化:JSON–>JAVA對象
json轉(zhuǎn)對象package json;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonDemo3 {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper = new ObjectMapper();
String json = "{\"name\":\"Kai\",\"age\":\"25\"}";
//JSON字符串轉(zhuǎn)為對象
Student student = objectMapper.readValue(json, Student.class);
System.out.println(student);
}
}
json轉(zhuǎn)mappackage json;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
public class JsonDemo4 {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper = new ObjectMapper();
String json = "{\"name\":\"Kai\",\"age\":\"25\"}";
HashMap hashMap = objectMapper.readValue(json, HashMap.class);
System.out.println(hashMap);
}
}
結(jié)尾本篇簡單介紹了json和Jackson的簡單用法,主要為后續(xù)JAVA自動化中做準(zhǔn)備,如需關(guān)于Jackson的詳細內(nèi)容可查看官網(wǎng)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站標(biāo)題:JAVA自動化(一)--JSON-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://jinyejixie.com/article30/pseso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)建站、商城網(wǎng)站、網(wǎng)站收錄、網(wǎng)站設(shè)計、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容