Fastjson是一個Java語言編寫的高性能JSON處理器,是阿里巴巴的開源產品。它可以將JSON字符串轉換為Java對象,也可以將Java對象轉換為JSON字符串。在Fastjson中,Map和Java Bean之間的轉換是非常容易的,本文將詳細介紹Fastjson中Map與Java Bean之間的轉換。
一、FastjsonMap轉對象不區分大小寫
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class FastJsonDemo { public static void main(String[] args) { String jsonStr = "{ \"name\":\"fastjson\", \"Type\":\"Java library\" }"; JSONObject jsonObj = JSON.parseObject(jsonStr, JSONObject.class); System.out.println(jsonObj.getString("name")); System.out.println(jsonObj.getString("Type")); System.out.println(jsonObj.getString("type")); //輸出null,不區分大小寫 } }
在fastjson中,如果一個對象的屬性名在JSON中不存在,則fastjson會將其設置為null值。對於屬性名的大小寫,fastjson並不區分,如果JSON中存在屬性「Type」,則無論Java對象中是否有屬性「type」,都能夠正確地轉換。
二、Fastjson對象轉JSON
import com.alibaba.fastjson.JSON; public class FastJsonDemo { public static void main(String[] args) { Person person = new Person(); person.setName("fastjson"); person.setAge(10); String jsonString = JSON.toJSONString(person); System.out.println(jsonString); } } class Person { private String name; private int age; // 省略getter和setter }
Fastjson可以將Java對象轉換為JSON字符串,只需調用JSON.toJSONString()方法即可。Fastjson默認下劃線命名法轉換為駝峰式命名法,即Java對象屬性名為name,JSON字符串中屬性名為「name」。
三、Fastjson轉Map
import com.alibaba.fastjson.JSON; import java.util.HashMap; import java.util.Map; public class FastJsonDemo { public static void main(String[] args) { String jsonStr = "{ \"name\":\"fastjson\", \"age\":10 }"; Map map = JSON.parseObject(jsonStr, HashMap.class); System.out.println(map.get("name")); System.out.println(map.get("age")); } }
Fastjson可以將JSON字符串轉換為Map對象,只需調用JSON.parseObject()方法,並指定返回Map類型。fastjson將JSON字符串中的屬性名作為Map的key,屬性值作為Map的value存儲。在Map對象中,屬性名的大小寫與JSON中的一致。
四、Fastjson對象轉字符串
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class FastJsonDemo { public static void main(String[] args) { JSONObject jsonObj = new JSONObject(); jsonObj.put("name", "fastjson"); jsonObj.put("age", 10); String jsonString = jsonObj.toJSONString(); System.out.println(jsonString); } }
Fastjson可以將JSONObject轉換為JSON字符串,只需調用toJSONString()方法即可。JSONObject可以直接添加屬性和值,但人們更多地使用Map和Java Bean封裝數據。
五、Fastjson字符串轉Map
import com.alibaba.fastjson.JSON; import java.util.HashMap; import java.util.Map; public class FastJsonDemo { public static void main(String[] args) { String jsonStr = "{ \"name\":\"fastjson\", \"age\":10 }"; Map map = JSON.parseObject(jsonStr, HashMap.class); System.out.println(map.get("name")); System.out.println(map.get("age")); } }
Fastjson可以將JSON字符串轉換為Map對象,只需調用JSON.parseObject()方法,並指定返回Map類型。fastjson將JSON字符串中的屬性名作為Map的key,屬性值作為Map的value存儲。在Map對象中,屬性名的大小寫與JSON中的一致。
六、Fastjson轉實體對象
import com.alibaba.fastjson.JSON; public class FastJsonDemo { public static void main(String[] args) { String jsonStr = "{ \"name\":\"fastjson\", \"age\":10 }"; Person person = JSON.parseObject(jsonStr, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); } } class Person { private String name; private int age; // 省略getter和setter }
Fastjson可以將JSON字符串轉換為Java對象,只需調用JSON.parseObject()方法,並指定轉換的Java類型即可。在實體對象中,fastjson將JSON字符串中的屬性名與實體對象中的屬性名進行對應。在進行屬性的轉換時仍然不區分大小寫。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/194071.html