JSON 与JAVA对象之间的转换(转)
JSON与XML两者目前在数据交互方面都有很高的使用率,随着现在SOA的兴起,异构系统的整合地位相应提高,本篇文章主要介绍JSON与JAVA对象之间的相互转换。一、对普通类型的JSON模式的转换一般JSON为最普通的String类型组成,没有其它Data或Object等这种特殊类形,具体例子如下:JSON: jsonString = {"name":"jack","sex":"men","age":23};JAVA BEAN: public class Person{ private String name; private String sex; private Integer age;...omit get or set method... }现在如果我们想把上面的JSON格式转为Java bean类,常用方法为:jsonObject = JSONObject.fromObject(jsonString); Object results = JSONObject.toBean(jsonObject, Person.class);这样返回来的数据就为Person类型的实例,在JSONObject.toBean();的方法签名中第一个参数为jsonObject对象,第二个参数为要转换后的JAVA BEAN的class类。二、对有Date或List类型的转换JSON: jsonString = {"name":"jack","sex":"women","birthday":"2010-06-12","address":[{"officeAttr":"NEWS RORK","HomeAttr":"beijing"},{"officeAttr":"taiyuan","HomeAttr":"hongkong"}]};JAVA BEAN:public class Person{ private String name; private String sex; private Date birthday;private List<Address> address;...omit get or set method... }public class Address{ private String officeAttr; private String homeAttr;...omit get or set method... }现在如果我们想把上面的JSON格式转为Java bean类,常用方法为:JSONUtils.getMorpherRegistry().registerMorpher(new JsonDateValueProcessor(new String[] { "yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" }));Map<String,Class> map = new HashMap<String,Class>(); map.put("address",Address.class); //map中的key值为json中list的key值,value为Address的class类对象 jsonObject = JSONObject.fromObject(jsonString); Object results = JSONObject.toBean(jsonObject, Person.class, map);public class JsonDateValueProcessor implements JsonValueProcessor {private String format = "yyyy-MM-dd HH:mm:ss";public JsonDateValueProcessor() {}public JsonDateValueProcessor(String format) { this.format = format; }public Object processArrayValue(Object value, JsonConfig jsonConfig) { return process(value, jsonConfig); }public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { return process(value, jsonConfig); }private Object process( Object value, JsonConfig jsonConfig ) { if (value instanceof Date) { String str = new SimpleDateFormat(format).format((Date) value); return str; } return value == null ? null : value.toString(); }public String getFormat() { return format; }public void setFormat(String format) { this.format = format; }}
转载于:https://www.cnblogs.com/cmzcheng/p/3668631.html
JSON 与JAVA对象之间的转换(转)相关推荐
- JSON字符串和对象之间的转换
使用jackSON来实现JSON字符串和对象之间的转换 引入maven <!--jackson--><dependency><groupId>com.fasterx ...
- JSON与Java对象的互相转换
JSON与Java对象的互相转换 例一(单个对象进行赋值): @RequestMapping("test1.do")@ResponseBodypublic JSONObject t ...
- JSON数据和JAVA对象之间的转换
方法1: 利用阿里巴巴开源的fastjson包进行JAVA对象和JSON字符串进行转换. C++中的结构体在JAVA中用对象表示,目录结构如下: Peron类内容如下,对应C++中的Person结构体 ...
- 使用fastjson工具类json字符串和对象之间的转换
文章目录 一.引入依赖 二.创建user实体类 三.测试 一.引入依赖 <!--字符串和对象操作工具类 Start--><dependency><groupId>c ...
- JSON字符串与Java对象的互相转换(详解)
<第四章-核心类库> 第8节 XML与Json 1. Json 1.1 简介 JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式 ...
- java 对象之间转换_浅谈java对象之间相互转化的多种方式
浅谈java对象之间相互转化的多种方式,对象,属性,参数,赋值,不支持 浅谈java对象之间相互转化的多种方式 易采站长站,站长之家为您整理了浅谈java对象之间相互转化的多种方式的相关内容. 第一种 ...
- C#中JSON和对象之间互相转换功能示例
本文实例讲述了C#实现JSON和对象之间互相转换功能.分享给大家供大家参考,具体如下: 1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属 ...
- Python:json数据与Python对象之间的转换
json数据与Python对象之间的转换 1.前面介绍了在Python中如何处理json数据,主要使用了以下几个方法 ⑴dumps():将Python对象转换为JSON格式的字符串 ⑵ ...
- 【Java】json与java对象转换,获得数据库自增主键,保存返回数据 (个人梳理)
[Java]json与java对象转换,获得数据库自增主键,保存返回数据 (个人梳理) 模拟请求API 获得json数据,将json转换为java对象,再将java对象转换为list集合,再将list ...
- c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换
最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...
最新文章
- 读书笔记:《搞定3--平衡工作和生活的艺术》
- E431 笔记本电池问题 0190 Critical low-battery error 解决办法
- hbase shell 查看列名_hbase shell 常用命令
- 通过WordPress内置函数批量添加文章
- 由excel导出引起的cpu 100% 和gc 的问题
- linux c代码出现段错误,Linux下段错误(C语言)
- mysql设置输出格式_rsyslog 配置mysql输出格式
- 中国电子银行网-互联网金融第一大网站
- 匿名对象和类名为数据类型(java)
- 时间轮python_时间轮定时器的实现(参考Linux源码)
- 11款常用的安全测试工具
- 移动平均线rolling()与加权移动平均线ewm()
- 过滤百度广告+搜索热点+adblock规则快速入门
- 记录:如何解决Ubuntu20.04无法联网问题【亲测有效】
- OpenCV-颜色通道的分离、合并
- 相机闪光灯(camera flash)
- java怎么实现华为云文字识别,华为云语音识别:一句话识别API调用
- 电容参数X5R,X7R,Y5V,COG
- C#下使用第三方开源控件读取Excel文件的内容
- 从零开始学python的第16天
热门文章
- Synchronized的底层实现原理(看这篇就够了)
- Python使用datetime来判断近七天
- spring异常处理器
- CoreImage的使用及常见滤镜工具(一)
- android eclipse下载
- NHibernate版本不一致问题
- Ancient Knight(打造Windows Mobile平台最专业的游戏修改器)
- 另类的JS常见函数应用
- Xcode 12 to build a single binary with both 32-bit and 64-bit support
- 公司居然使用监听设备,大家来讨论下IT公司应该怎样管理