使用FastJSON,将对象或数组和JSON串互转
Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库。
其开源的下载网址为:https://github.com/AlibabaTech/fastjson。
示例代码如下:
- package test;
- import java.util.ArrayList;
- import java.util.List;
- import com.alibaba.fastjson.JSON;
- class User {
- private String name;
- private int age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- @Override
- public String toString() {
- return "User [name=" + name + ", age=" + age + "]";
- }
- };
- class UserGroup {
- private String name;
- private List<User> users = new ArrayList<User>();
- 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;
- }
- @Override
- public String toString() {
- return "UserGroup [name=" + name + ", users=" + users + "]";
- }
- }
- class FastJsonTest {
- public static void main(String[] args) {
- // 构建用户geust
- User guestUser = new User();
- guestUser.setName("guest");
- guestUser.setAge(28);
- // 构建用户root
- User rootUser = new User();
- rootUser.setName("root");
- guestUser.setAge(35);
- // 构建用户组对象
- UserGroup group = new UserGroup();
- group.setName("admin");
- group.getUsers().add(guestUser);
- group.getUsers().add(rootUser);
- // 用户组对象转JSON串
- String jsonString = JSON.toJSONString(group);
- System.out.println("jsonString:" + jsonString);
- // JSON串转用户组对象
- UserGroup group2 = JSON.parseObject(jsonString, UserGroup.class);
- System.out.println("group2:" + group2);
- // 构建用户对象数组
- User[] users = new User[2];
- users[0] = guestUser;
- users[1] = rootUser;
- // 用户对象数组转JSON串
- String jsonString2 = JSON.toJSONString(users);
- System.out.println("jsonString2:" + jsonString2);
- // JSON串转用户对象列表
- List<User> users2 = JSON.parseArray(jsonString2, User.class);
- System.out.println("users2:" + users2);
- }
- }
输出如下:
- jsonString:{"name":"admin","users":[{"age":35,"name":"guest"},{"age":0,"name":"root"}]}
- group2:UserGroup [name=admin, users=[User [name=guest, age=35], User [name=root, age=0]]]
- jsonString2:[{"age":35,"name":"guest"},{"age":0,"name":"root"}]
- users2:[User [name=guest, age=35], User [name=root, age=0]]
使用FastJSON,将对象或数组和JSON串互转的更多相关文章
- JavaScriptES6中Map与对象、数组,JSON之间的相互转换
JavaScriptES6中Map与对象.数组,JSON之间的相互转换 https://blog.csdn.net/c__dreamer/article/details/82183130
- iOS 字典或者数组和JSON串的转换
在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下: // 将字典或者数组转化为JSON串 + (NSData *)toJSONData:(id)theData { NSEr ...
- Java 对象,数组 与 JSON 字符串 相互转化
当 Java 对象中包含 数组集合对象时,将 JSON 字符串转成此对象. public class Cart{} public class MemberCoupon{} public class C ...
- javascript 中的JSON.stringify - 将对象和数组转换为json格式(来源于网络)
JSON.stringify 函数 (JavaScript) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. JSON.stringi ...
- java对象与json串互转
1:java对象与json串转换: java对象—json串: JSONObject JSONStr = JSONObject.fromObject(object); String str = JSO ...
- 前端表单序列化为json串,以及构造json数组、json串
var parm={ username:"zhangsan", age:24, email:"352400260@qq.com" }; console.log( ...
- js Json与对象、数组转化
对象.数组转json json = JSON.stringify(obj) json 转对象.数组 arr = JSON.parse(json)
- PHP 多维数组转json对象
PHP 多维数组转json对象 php 数组转json对象,可能大家都知道要用json_encode,但是转换出来的格式多有不同,此处做个小小的记录! 1. 一维数组转json对象 <?php ...
- 比较任意两个JSON串是否相等(比较对象是否相等)JAVA版
废话少说,直接入题. 在面向对象语言中,经常会比较两个对象是否相等,而比较的大多是实体类实例,也就是封装数据的那些类实例,或者是Map.List互相嵌套成的复杂数据结构. 比较对象是否相等,常见的思路 ...
随机推荐
- jsp 页面标签 积累
http://www.cnblogs.com/xiadongqing/p/5232592.html <%@ taglib %>引入标签库 ========================= ...
- 理解css margin
前提是对display:block元素 1 margin对没有width属性的元素,能影响其宽度,对于有width的则不起作用: 高度方面不受影响 此特性可用来排版 2 margin 与百分比 普通的 ...
- alfresco category searches...
From page 475 of the Alfresco Developer Guide- Category searches use the PATH field, but you constru ...
- Enum
1.定义时使用enum关键字定义. 2.隐式继承了java.lang.Enum类,所以不能再继承其他类了. 3.隐式的final修饰符,所以不能被其他类继承. package enumTest; pu ...
- 几何服务,cut功能,输入要素target(修改前)内容。
几何服务,cut功能测试,输入要素target(修改前)内容. {"geometryType":"esriGeometryPolyline","geo ...
- 自定义组件-支持PNG图片的多态GraphicButton
按钮功能使用TButton也可以解决, 但是TButton是会获得焦点的, 很多时候我们要求按钮不获得焦点, 而Speedbutton又不支持PNG图片 所以按照TSpeedbutton的代码, 重新 ...
- How to use groovy script on jenkins
1. Install groovy plugin 2. Add a step of groovy. (normal & systerm) 3. Execute groovy script im ...
- spring异常提示_2
前缀 'aop' 未绑定:---解决方案------<beansxmlns:aop="http://www.springframework.org/schema/aop" & ...
- Preference Screen 首选项
设置Preference Screen (res\xml\userpreferences.xml) <?xml version="1.0" encoding="u ...
- oracle正则表达式的用法
<SPAN style="FONT-SIZE: 18px">Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子 .5个参数 第一个是输入的字符串 第二个 ...