A Introduction to JSON:
1.JSON (JavaScript Object Notation) is a lightweight data interchange format;
2.JSON data is widely used as one of the main data transmission formats in the current network.
3.JSON can represent the data:
(1) Object: Object expressed as "{}", data structure is {Key:value,key:value,....} The structure of the key-value pairs
For example:
{"Name": "Zhangsan", "Age": 20}
(2) Arrays: arrays are represented as bracketed "[]" contents, data structure is [Value,value,value,.........] or [{key:value,...},{key:value,...}] The single-valued structure
For example:
[{' name ': ' Zhangsan ', ' age ': 20},{' name ': ' Wangwu ', ' Age ': 25}]
That
{“user”:[{“name”:”zhangsan”,”age”:20},{“name”:”wangwu”,”age”:25}]}
Two. Official parsing of JSON
1. Convert the assembled JavaBean into a JSON data format
2. Convert JSON to JavaBean object
3. Convert the collection to a JSON string
4. Convert a JSON string in array form to a collection object
Example 1 (JSON official parsing):
(1) First introduce the required jar package
(2) Write code:
Conversion Tool Class (contains the method of conversion in 4):
Package Org.json.official;import Java.util.arraylist;import Java.util.collections;import java.util.List;import Org.json.jsonarray;import Org.json.jsonexception;import Org.json.jsonobject;import Org.json.bean.Student;public Class Officejsonutil {//1. Convert Java objects to JSON data format public static String Javatojson () {Student stu = new Student ( 1, "Wang Zhaojun", 89.5); Jsonobject jsonobj = new Jsonobject (stu); return jsonobj.tostring (); }//2. Convert JSON to JavaBean object public static Student Jsontojavabean () {Student stu = null; String jsonstr = "{' id ': 2, ' name ': ' Yang Yuhuan ', ' Score ': 95.6}"; try {jsonobject jsonobj = new Jsonobject (JSONSTR); int id = jsonobj.optint ("id"); String name = jsonobj.optstring ("name"); Double score = jsonobj.optdouble ("score"); Stu = new Student (ID, name, score); } catch (Jsonexception e) {e.printstacktrace (); } return Stu; }//3. Convert a collection to a JSON string public static String Listtojson () {list<student> List = new arraylist<student> (); Collections.addall (list, new Student (3, "Xi Shi", 93.6), New Student (4, "Marten Cicada", 95.3), New Student (5, "Ping Zhaoyang Princess", 94 .6)); Jsonarray Jsonarr = new Jsonarray (list); return jsonarr.tostring (); }//4. Convert the JSON string in array form to a collection object public static List<student> Jsonarraytolist () {list<student> List = NE W arraylist<student> (); String jsonstr = "[{\" score\ ": 93.6,\" name\ ": \" Xi shi \ ", \" id\ ": 3},{\" score\ ": 95.3,\" name\ ": \" Marten cicada \ ", \" id\ ": 4},{\" score\ " : 94.6,\ "name\": \ "ping Zhaoyang princess \", \ "id\": 5}] "; try {jsonarray jsonarr=new jsonarray (JSONSTR); for (int i=0;i<jsonarr.length (); i++) {Jsonobject jsonobj=jsonarr.optjsonobject (i);//To get each object int Id=jsonobj.optint ("id"); String name=jsonobj.optstring ("name"); Double score=jsonobj.optdouble ("score"); Student StU=new Student (Id,name,score); List.add (Stu); }} catch (Jsonexception e) {e.printstacktrace (); } return list; }}
Test code (Main method):
package org.json.official;import java.util.List;import org.json.bean.Student;public class TestOfJson { public static void main(String[] args) { //1.JavaBean转化为JSON数据格式 String jsonStr= OfficeJSONUtil.javaToJSON(); System.out.println("1.JavaBean转化为JSON数据格式:"+jsonStr); // 2.将JSON转化为JavaBean对象 Student stu=OfficeJSONUtil.jsonToJavaBean(); System.out.println("2.将JSON转化为JavaBean对象:"+stu); // 3. 把集合转化为JSON字符串 String jsonStr1=OfficeJSONUtil.listToJSON(); System.out.println("3. 把集合转化为JSON字符串:"+jsonStr1); //4.把数组形式的JSON串转化为集合对象 List<Student> list=OfficeJSONUtil.jsonArrayToList(); System.out.println("4.把数组形式的JSON串转化为集合对象:"); for(Student stu1:list){ System.out.println(stu1); } }}
Operation Result:
Java Learning Summary (20)--json Analysis: Official analysis, Gson analysis, Fastjson analysis,