fastjson 小灰灰 2022-06-04 02:07 148阅读 0赞 Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。 常见问题解答 [https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98][https_github.com_alibaba_fastjson_wiki_E5_B8_B8_E8_A7_81_E9_97_AE_E9_A2_98] Maven: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>VERSION_CODE</version> </dependency> ## 使用介绍: ## **Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON** import com.alibaba.fastjson.JSON; public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。 Google JSON 风格指南 你可以从这里了解如何更好的使用JSON:[https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md][https_github.com_darcyliu_google-styleguide_blob_master_JSONStyleGuide.md] 在 Spring 中集成 Fastjson [https://github.com/alibaba/fastjson/wiki/%E5%9C%A8-Spring-%E4%B8%AD%E9%9B%86%E6%88%90-Fastjson][https_github.com_alibaba_fastjson_wiki_E5_9C_A8-Spring-_E4_B8_AD_E9_9B_86_E6_88_90-Fastjson] ## 简单例子 ## public class Group { @JSONField(serialize = false) private Long id; @JSONField(name = "groupName") private String name; private List<User> users = new ArrayList<User>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } public void addUser(User user) { users.add(user); } } public class User { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Test { public static void main(String[] args) { Group group = new Group(); group.setId(0L); group.setName("admin"); User guestUser = new User(); guestUser.setId(2L); guestUser.setName("guest"); User rootUser = new User(); rootUser.setId(3L); rootUser.setName("root"); group.addUser(guestUser); group.addUser(rootUser); String jsonString = JSON.toJSONString(group, SerializerFeature.UseSingleQuotes); System.out.println(jsonString); Group groupDecode = JSON.parseObject(jsonString, Group.class); System.out.println(groupDecode.getName()); } } **输出:** > \{‘groupName’:’admin’,’users’:\[\{‘id’:2,’name’:’guest’\},\{‘id’:3,’name’:’root’\}\]\} > admin ***SerializerFeature属性*** ![这里写图片描述][SouthEast] [https_github.com_alibaba_fastjson_wiki_E5_B8_B8_E8_A7_81_E9_97_AE_E9_A2_98]: https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 [https_github.com_darcyliu_google-styleguide_blob_master_JSONStyleGuide.md]: https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md [https_github.com_alibaba_fastjson_wiki_E5_9C_A8-Spring-_E4_B8_AD_E9_9B_86_E6_88_90-Fastjson]: https://github.com/alibaba/fastjson/wiki/%E5%9C%A8-Spring-%E4%B8%AD%E9%9B%86%E6%88%90-Fastjson [SouthEast]: /images/20220604/111ebedac5374aca9a8f1ecf1a40e330.png
还没有评论,来说两句吧...