使用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互相嵌套成的复杂数据结构. 比较对象是否相等,常见的思路 ...
 
随机推荐
- Java Service Wrapper简介与使用
			
在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启.解 ...
 - cocos2d-x test学习[1]
			
controller.cpp std::function<TestScene*()> callback;//一个是返回值,一个是参数.返回值是TestScene*,参数是()里的东西 Co ...
 - CentOS下设置默认JDK
			
最近在弄Linux,用yum源安装opnjdk-devel版本后,用命令ll /etc/alternatives/java查看,发现指向的是jre目录,而不是jdk,在此设置指向jdk目录. 1. 设 ...
 - 短期连载 第1回 万代南梦宫工作室动画的流派 BNS动作捕捉汐留工作室的采访
			
原文链接:http://cgworld.jp/interview/201607-bandainamco.html 因开发了[偶像大师],[铁拳],[XX传说]系列等各种游戏而被广为人知的万代南 ...
 - 一起来做webgame,《Javascript贪食蛇》
			
2019-09-22更新: 使用canvas实现:https://github.com/onlyfu/SnakeSir-Javascript 以下为HTML4实现: 今天来个略有意思的,<贪食蛇 ...
 - requirejs使用
			
实现模块化.按需加载. 一.配置参数. 1.baseUrl:以一个相对于baseUrl的地址来加载所有的代码. data-main,使用它来启动脚本加载过程,而baseUrl一般设置到与该属性相一 ...
 - Mysql 获取年级每个班前十学生的信息
			
select * from Table1 a where 10>(select count(*) from Table1 where ClsNo=a.ClsNo and Score>a.S ...
 - jquery easyui tree的全选与反选
			
//全选反选 //参数:selected:传入this,表示当前点击的组件 //treeMenu:要操作的tree的id:如:id="userTree" function tree ...
 - git-credential-winstore.exe": No such file or directory
			
$ git push -u origin master\"D:/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe ...
 - uploadify使用教程
			
<div> <input type="file" id="uploadify" name="uploadify" /> ...