JSONObject應用Json字串和Object物件之間的轉換,Map封裝資料思路
package com.example.core.mydemo.json5; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.annotation.JSONField; public class Item { private String id; @JSONField(serialize = false) //fastjson 忽略欄位列印 private String rate; private String status; public Item() { } public Item(String id, String rate) { this.id = id; this.rate = rate; } @Override public String toString() { return "Item{" + "id='" + id + '\'' + ", rate='" + rate + '\'' + ", status='" + status + '\'' + '}'; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } /** * output {"id":"111"} * @param args */ public static void main(String[] args) { Item item = new Item(); item.setId("111"); item.setRate("56666"); System.out.println(JSON.toJSONString(item)); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getRate() { return rate; } public void setRate(String rate) { this.rate = rate; } } package com.example.core.mydemo.json5; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; /** * output: * jsonString={"id":"4"} * id=4 * status=成功 * item2=Item{id='4', rate='null', status='成功'} * item3=Item{id='4', rate='null', status='成功'} */ public class JSONObjectTest { public static void main(String[] args) { Item item = new Item("4","100"); String jsonString = JSON.toJSONString(item); System.out.println("jsonString="+jsonString); JSONObject jsonObject = JSON.parseObject(jsonString); if (jsonObject.containsKey("id")) { String id = jsonObject.getString("id"); System.out.println("id=" + id); } if (jsonObject.containsKey("rate")) { String rate = jsonObject.getString("rate"); System.out.println("rate=" + rate); } //封裝資料 jsonObject.put("status","成功"); if (jsonObject.containsKey("status")) { String status = jsonObject.getString("status"); System.out.println("status=" + status); } // T = JSON.parseObject("json","Class T"); Item item2 = jsonObject.toJavaObject(Item.class); System.out.println("item2=" + item2.toString()); Type type = new TypeToken<Item>() {}.getType(); Item item3 = jsonObject.toJavaObject(type); System.out.println("item3=" + item3.toString()); } }
package com.example.core.mydemo.json5; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.annotation.JSONField; public class Item { private String id; @JSONField(serialize = false) //fastjson 忽略欄位列印 private String rate; private String status; public Item() { } public Item(String id, String rate) { this.id = id; this.rate = rate; } @Override public String toString() { return "Item{" + "id='" + id + '\'' + ", rate='" + rate + '\'' + ", status='" + status + '\'' + '}'; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } /** * output {"id":"111"} * @param args */ public static void main(String[] args) { Item item = new Item(); item.setId("111"); item.setRate("56666"); System.out.println(JSON.toJSONString(item)); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getRate() { return rate; } public void setRate(String rate) { this.rate = rate; } } package com.example.core.mydemo.json5; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; /** * output: * jsonString={"id":"4"} * id=4 * status=成功 * item2=Item{id='4', rate='null', status='成功'} * item3=Item{id='4', rate='null', status='成功'} */ public class JSONObjectTest { public static void main(String[] args) { Item item = new Item("4","100"); String jsonString = JSON.toJSONString(item); System.out.println("jsonString="+jsonString); JSONObject jsonObject = JSON.parseObject(jsonString); if (jsonObject.containsKey("id")) { String id = jsonObject.getString("id"); System.out.println("id=" + id); } if (jsonObject.containsKey("rate")) { String rate = jsonObject.getString("rate"); System.out.println("rate=" + rate); } //封裝資料 jsonObject.put("status","成功"); if (jsonObject.containsKey("status")) { String status = jsonObject.getString("status"); System.out.println("status=" + status); } // T = JSON.parseObject("json","Class T"); Item item2 = jsonObject.toJavaObject(Item.class); System.out.println("item2=" + item2.toString()); Type type = new TypeToken<Item>() {}.getType(); Item item3 = jsonObject.toJavaObject(type); System.out.println("item3=" + item3.toString()); } }