说一下对象或数组转JSON怎么转【fastjson】
年前在京东实习,和我一起实习的一妹子问我怎么对象转json,我。。。
嗯很简单呀,用fastjson就行了。fastjson是什么?
fastjson是什么?
Fastjson阿里巴巴工程师开源的一个 json 库:Fastjson,这个库在解析速度和易用性上来说都很不错。
在日志解析,前后端数据传输交互中,经常会遇到 String 与 map、json、xml 等格式相互转换与解析的场景,其中 json 基本成为了跨语言、跨前后端的事实上的标准数据交互格式。应该来说各个语言中 解析 json 的库都一大片,比如 python 都集成在了内置库中,成为标准 API,今天我们要聊的是 java 中如何方便的使用 json 格式。
推一个介绍json的网址
http://www.json.org/json-zh.html](http://www.json.org/json-zh.html
下面一个示例是如何使用Fastjson 把对象或数组转JSON
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]]
补充:
提一个注释:@JSONField
通过@JSONField注解设置json属性与成员变量对应关系
举个小例子:
public class News {private String appId;private String title;private String intro;private String source;private String url;private Date updateTime;@Overridepublic String toString() {return "News{" +"appId='" + appId + '\'' +", title='" + title + '\'' +", intro='" + intro + '\'' +", source='" + source + '\'' +", url='" + url + '\'' +", updateTime=" + updateTime +'}';}@JSONField(name="app_id")public String getAppId() {return appId;}@JSONField(name="app_id")public void setAppId(String appId) {this.appId = appId;}@JSONField(name="title")public String getTitle() {return title;}@JSONField(name="title")public void setTitle(String title) {this.title = title;}@JSONField(name="intro")public String getIntro() {return intro;}@JSONField(name="intro")public void setIntro(String intro) {this.intro = intro;}@JSONField(name="source")public String getSource() {return source;}@JSONField(name="source")public void setSource(String source) {this.source = source;}@JSONField(name="url")public String getUrl() {return url;}@JSONField(name="url")public void setUrl(String url) {this.url = url;}@JSONField(name="update_time",format = "yyyy-MM-dd HH:mm:ss")public Date getUpdateTime() {return updateTime;}@JSONField(name="update_time",format = "yyyy-MM-dd HH:mm:ss")public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}
}
推荐一个详细的Fastjson讲解:https://www.w3cschool.cn/fastjson/fastjson-jsonfield.html
说一下对象或数组转JSON怎么转【fastjson】相关推荐
- fastjson php,Fastjson 对象或数组转JSON
Fastjson阿里巴巴工程师开源的一个 json 库:Fastjson,这个库在解析速度和易用性上来说都很不错. 在日志解析,前后端数据传输交互中,经常会遇到 String 与 map.json.x ...
- ES6中Map与对象、数组,JSON之间的相互转换
Map转为数组 const map = new Map(); map.set(1,"foo").set(2,"bar").set(3,"baz&quo ...
- JAVA对象、数组转JSON
1.需要库: commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.1.jar commons-logging- ...
- PHP 多维数组转json对象
PHP 多维数组转json对象 php 数组转json对象,可能大家都知道要用json_encode,但是转换出来的格式多有不同,此处做个小小的记录! 1. 一维数组转json对象 <?php ...
- php的对象和数组应该学js,JavaScript数组与对象的常用方法及 json 的序列化
一.JavaScript数据类型: 1- 原始类型:number(数值),string(字符串),boolean(布尔值)var age = 18; var username = "admi ...
- json vue 对象转数组_vue 基础入门(一)修改
vue基础入门(一) 1. 什么是vue Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标 ...
- php json 数组 区别,PHP实战:JSON两种结构之对象和数组的理解
<PHP实战:JSON两种结构之对象和数组的理解>要点: 本文介绍了PHP实战:JSON两种结构之对象和数组的理解,希望对您有用.如果有疑问,可以联系我们. JSON简介 PHP实战JSO ...
- c#json对象转数组_数组和对象的区别
数组和对象两者都可以用来表示数据的集合,曾一度搞不清楚"数组"(array)和"对象"(object)的根本区别在哪里. 有一个数组a=[1,2,3,4],还有 ...
- java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...
一个简单的demo.用户在前台页面表单输入数据表的信息,数据传递到后台,系统自动在后台创建数据库表(table)的功能. 作为简单demo,这里的表只有"表名","列名& ...
最新文章
- Ocelot(五)- 流量限制、服务质量
- python 矩阵获取行数_4个最佳项目创意的代码片段和示例,旨在为Python和机器学习构建出色的简历!...
- 组装电脑配置单报价_组装电脑配置单推荐,性价比高的游戏、画图和办公全能配置电脑!...
- HDU 1085 Holding Bin-Laden Captive!
- whitelabel error page怎么解决_pyppeteer使用遇到的bug及解决方法
- java 编写 servlet 程序_Java技术分享:如何编写servlet程序
- Oracle数据库中dual是什么东西啊?
- linux下gcc/g++命令
- 一般的病毒通过注册表自启动的方式不断完善中。。。。
- 如何处理tomcat默认错误页面
- Vue前端验证一个text只能输入手机号或邮箱
- 最大报销额(01背包)
- 手机芯片的AP、BP和CP
- Ps简单几步把人物图片转素描画
- html中常用判断和工具(二)
- 计算机考证打字训练题
- 这些秋季儿童养生小常识,你要知道!
- 计算机通过变频器模拟输入控制电机正反转,用电脑控制的工频高压系统
- c语言功率算电量,电功率你理解透了吗?怎么算功率因数?1度电是多少?
- dbeaver针对某张表写sql(复制软件sql模板)