概念:JSON是javascript對象的一種形態,是一種輕量級的數據交換格式。通常用來在Java EE後臺服務和Android或者ios、HTML5之間進行通訊的一種數據傳遞的格式。javascript
Gson是谷歌推出的一個用於生成和解析JSON數據格式的工具;html
實體類 peoplejava
1 package com.shore.entity; 2 3 /** 4 * @author DSHORE/2019-4-21 5 * 6 */ 7 public class People { 8 private int pid; 9 private String pname; 10 private int age; 11 private String job; 12 private double sal; 13 14 public People() { 15 16 } 17 public People(int pid, String pname, int age, String job, double sal) { 18 super(); 19 this.pid = pid; 20 this.pname = pname; 21 this.age = age; 22 this.job = job; 23 this.sal = sal; 24 } 25 public int getPid() { 26 return pid; 27 } 28 public void setPid(int pid) { 29 this.pid = pid; 30 } 31 public String getPname() { 32 return pname; 33 } 34 public void setPname(String pname) { 35 this.pname = pname; 36 } 37 public int getAge() { 38 return age; 39 } 40 public void setAge(int age) { 41 this.age = age; 42 } 43 public String getJob() { 44 return job; 45 } 46 public void setJob(String job) { 47 this.job = job; 48 } 49 public double getSal() { 50 return sal; 51 } 52 public void setSal(double sal) { 53 this.sal = sal; 54 } 55 @Override 56 public String toString() { 57 return "People [pid=" + pid + ", pname=" + pname + ", age=" + age 58 + ", job=" + job + ", sal=" + sal + "]"; 59 } 60 }
gson 測試類ios
1 package com.shore.test; 2 3 import java.lang.reflect.Type; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 import net.sf.json.JSONObject; 8 9 import com.google.gson.Gson; 10 import com.google.gson.reflect.TypeToken; 11 import com.shore.entity.People; 12 13 /** 14 * @author DSHORE/2019-4-21 15 * 16 */ 17 public class GsonTest { 18 public static void main(String[] args) { 19 People p = new People(); 20 p.setAge(18); 21 p.setPname("張三"); 22 p.setJob("工程師"); 23 p.setPid(1); 24 p.setSal(10000); 25 26 People p2 = new People(); 27 p2.setAge(20); 28 p2.setPname("李四"); 29 p2.setJob("設計師"); 30 p2.setPid(2); 31 p2.setSal(8000); 32 33 People p3 = new People(); 34 p3.setAge(20); 35 p3.setPname("王五"); 36 p3.setJob("工程師"); 37 p3.setPid(3); 38 p3.setSal(15000); 39 40 //1.將java對象轉爲json字符串 41 Gson gson = new Gson(); 42 String json = gson.toJson(p); 43 System.out.println(json); //返回值:{"pid":1,"pname":"張三","age":18,"job":"工程師","sal":10000.0} 44 45 //2.將json字符串轉爲java對象 46 json = "{\"age\":18,\"job\":\"工程師\",\"pid\":1,\"pname\":\"張三\",\"sal\":10000}"; 47 People people = gson.fromJson(json, People.class); 48 System.out.println(people);//返回值:People [pid=1, pname=張三, age=18, job=工程師, sal=10000.0] 49 //p2對象 50 JSONObject jsonObject = JSONObject.fromObject(p2); 51 System.out.println(jsonObject);//返回值:{"age":20,"job":"設計師","pid":2,"pname":"李四","sal":8000} 52 53 //3.將一個對象集合轉爲json 54 List<People> list = new ArrayList<People>(); 55 list.add(p); 56 list.add(p2); 57 list.add(p3); 58 json=gson.toJson(list); 59 System.out.println(json);//返回值:[{"pid":1,"pname":"張三","age":18,"job":"工程師","sal":10000.0},{"pid":2,"pname":"李四","age":20,"job":"設計師","sal":8000.0},{"pid":3,"pname":"王五","age":20,"job":"工程師","sal":15000.0}] 60 61 //4.將json字符串轉爲帶泛型集合對象 62 Type listType=new TypeToken<List<People>>(){}.getType(); 63 List<People> list2=gson.fromJson(json,listType); 64 System.out.println(list2.get(2).getPname());//返回值:王五 get(2)中的2表示:下標值 65 } 66 }
原創做者:DSHOREjson 做者主頁:http://www.cnblogs.com/dshore123/ide 原文出自:http://www.javashuo.com/article/p-gqnqfono-h.html工具 歡迎轉載,轉載務必說明出處。(若是本文對您有幫助,能夠點擊一下右下角的 推薦,或評論,謝謝!)post |