本篇為JAVA自動化的第一篇章,主要為JSON得序列化與反序列化
主要講述后續(xù)自動化中能夠使用得部分,如果想了解更多可以查看官方文檔
學習條件:JAVA基礎部分

JSON(JavaScript Object Notation, JavaScript 對象表示法) 是一種輕量級的數(shù)據交換格式。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。簡潔和清晰的層次結構使得 JSON 成為理想的數(shù)據交換語言。
JSON語法規(guī)則1.數(shù)據在鍵值對當中
2.數(shù)據由逗號分隔
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相關配置:https://mvnrepository.com 在此網站找到相關版本,或者直接復制下方
com.fasterxml.jackson.core jackson-databind 2.13.3 相關使用ObjectMapper是序列化/反序列化操作的核心,Jackson的所有操作都是在ObjectMapper中實現(xiàn)
ObjectMapper objectMapper = new ObjectMapper();序列化:JAVA對象 -->JSON不管你是什么結構的對象,想轉json,直接 objectMapper.writeValueAsString() 搞定。
對象轉json//先準備一個學生類
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 +
'}';
}
}//將學生類轉為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轉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轉對象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字符串轉為對象
Student student = objectMapper.readValue(json, Student.class);
System.out.println(student);
}
}
json轉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);
}
}結尾本篇簡單介紹了json和Jackson的簡單用法,主要為后續(xù)JAVA自動化中做準備,如需關于Jackson的詳細內容可查看官網
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
網站標題:JAVA自動化(一)--JSON-創(chuàng)新互聯(lián)
文章網址:http://www.yijiale78.com/article30/pseso.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網站建設、企業(yè)建站、商城網站、網站收錄、網站設計、網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)