FastJson是一個高性能的JSON庫,支持JSON與JavaObject之間互轉。FastJson能夠將JSON字符串快速解析成JavaObject,也能將JavaObject快速序列化成JSON字符串。此外,它還能支持JavaBean、List、Map等數據結構的轉換。
JSON字符串轉Java對象:
String jsonString = "{\"name\":\"Tom\",\"age\":25}"; User user = JSON.parseObject(jsonString, User.class);
其中,User是一個JavaBean類,需要與JSON字符串的屬性名對應。FastJson能夠自動將JSON字符串的屬性值解析成對應Java類的屬性,通過setter方法賦值給Java類對象。如上述代碼,jsonString中的"name"屬性解析賦值給User的"name"屬性。
Java對象轉JSON字符串:
User user = new User(); user.setName("Tom"); user.setAge(25); String jsonString = JSON.toJSONString(user);
JSON.toJSONString()方法將Java對象轉換成標準的JSON格式字符串,可以與其他的JSON庫兼容。如果需要忽略屬性為null的字段,可以使用JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd", SerializerFeature.WriteNullStringAsEmpty);
使用FastJson進行集合對象轉換:
ListuserList = new ArrayList (); userList.add(user); String jsonString = JSON.toJSONString(userList); List userList1 = JSON.parseObject(jsonString, new TypeReference >(){});
FastJson提供了TypeReference類,可以直接將JSON字符串轉換成Java集合對象,如List、Map等。需要將Json轉成List>(){})來獲取泛型類型。
FastJson是一個高性能的Json庫,它支持很多豐富的特性,可以滿足不同開發者的需求。在Json轉換時,它比其他庫更快,更易于操作。