使用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互相嵌套成的复杂数据结构. 比较对象是否相等,常见的思路 ...
随机推荐
- Oracel EBS - Search Report by Response & Group
- Android课程---关于数据存储的学习(2)
手机外部存储的学习 activity_data2.xml <?xml version="1.0" encoding="utf-8"?> <Li ...
- Unity学习疑问记录之将图切割保存
http://blog.csdn.net/poem_of_sunshine/article/details/43036553
- ecmall源码中的 function _config_view()-关于重写
ecmall中类库的继承过程: defaultAPP->MallbaseApp->FrontendApp->EcBaseApp->BaseApp->Object 在bas ...
- ssh的原理和流程
一.strtus:第1步:把上面的jar包下载完成后,先在eclipse中新建一个web工程,新建工程的同时最好选上创建的同时添加web.xml文件 第2步:找到下载并解压好的strtus文件中找到a ...
- Codeforces Round #383 (Div. 2) D 分组背包
给出一群女孩的重量和颜值 和她们的朋友关系 现在有一个舞台 ab是朋友 bc是朋友 ac就是朋友 给出最大承重 可以邀请这些女孩来玩 对于每一个朋友团体 全邀请or邀请一个or不邀请 问能邀请的女孩的 ...
- eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN
eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...
- sonarqube插件开发(一) 环境搭建
1. 下载Docker容器 # 最新版本镜像 docker pull sonarqube # 长期支持版镜像 docker pull sonarqube:lts 2. 将已有的插件导出(使用docke ...
- 《UML大战需求分析阅读笔记》05
在需求分析的阶段,非功能需求也是十分重要的一个阶段.部署图和构件图就能很好的描述非功能需求. 部署图从硬件的角度.物理层次上进行系统的整体规划,包括当前的IT架构以及改造后的IT构架,包括:Node: ...
- Apache Kafka - Schema Registry
关于我们为什么需要Schema Registry? 参考, https://www.confluent.io/blog/how-i-learned-to-stop-worrying-and-love- ...