JSON数据和JAVA对象之间的转换
方法1:
利用阿里巴巴开源的fastjson包进行JAVA对象和JSON字符串进行转换。
C++中的结构体在JAVA中用对象表示,目录结构如下:
Peron类内容如下,对应C++中的Person结构体:
package com.company;
public class Person {private String name;private int age;private String address;//快速生成 Alt+insertpublic String getName() {return name;}public int getAge() {return age;}public String getAddress() {return address;}public Person(String name, int age, String address) {this.name = name;this.age = age;this.address = address;}public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}public void setAddress(String address) {this.address = address;}
}
JSON字符串与JAVA对象互转,如下:
package com.company;import com.alibaba.fastjson.JSON;public class Main {public static void main(String[] args) {//json格式的字符串String str="{name:'张三',age:28,address:'浙江省嘉兴市'}";//把json数据转为Java对象Person p=JSON.parseObject(str,Person.class);System.out.println(p.getName());System.out.println(p.getAge());System.out.println(p.getAge());//java 对象转为json字符串Person p2=new Person("里斯",29,"新疆");String jsonStr=JSON.toJSONString(p2);System.out.println(jsonStr);}
}
注意:
1.封装的对象必须要有空格参构造方法
2.在进行json和JAVA对象转换时,要使用对象的getter和setter方法
3.对象中的属性名要和json字符串中的key的名称一致。
方法2:
用lombok-1.18.20.jar包,省去getter和setter方法
Peron类内容如下:
package com.company;import lombok.Data;
import lombok.Getter;
import lombok.Setter;@Data
@Setter
@Getter
public class Person {public String name;public int age;public String address;public Person(String name, int age, String address) {this.name = name;this.age = age;this.address = address;}
}
JSON字符串与JAVA对象互转,如下:
package com.company;import com.alibaba.fastjson.JSON;public class Main {public static void main(String[] args) {//json格式的字符串String str="{name:'张三',age:28,address:'浙江省嘉兴市'}";//把json数据转为Java对象Person p=JSON.parseObject(str,Person.class);System.out.println(p.name);System.out.println(p.age);System.out.println(p.address);//java 对象转为json字符串Person p2=new Person("里斯",29,"新疆");String jsonStr=JSON.toJSONString(p2);System.out.println(jsonStr);}
}
注意:java对象必须为public类型,否则,不能进行转换。
用方法2可以省略getter和setter方法导致的代码冗余,但是,破坏了代码的封装性。
JSON数据和JAVA对象之间的转换相关推荐
- Python:json数据与Python对象之间的转换
json数据与Python对象之间的转换 1.前面介绍了在Python中如何处理json数据,主要使用了以下几个方法 ⑴dumps():将Python对象转换为JSON格式的字符串 ⑵ ...
- 7、JSON数据和Java对象的相互转换(客户端和服务器对象数据通讯用)
JSON数据和Java对象的相互转换 需要使用JSON解析器(它是封装好的工具类),我们测试用用jackson * 常见的解析器:Jsonlib,Gson(谷歌),fastjson(阿 ...
- JSON数据和Java对象的相互转换
* JSON解析器: * 常见的解析器:Jsonlib,Gson,fastjson,jackson 1. JSON转为Java对象 1. 导入jack ...
- JSON字符串与Java对象的互相转换(详解)
<第四章-核心类库> 第8节 XML与Json 1. Json 1.1 简介 JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式 ...
- json数据解析,json数据转为java对象
在Android开发过程中,经常需要与后台进行数据的交互,JSON作为一种轻量级的数据格式,经常被 后台作为传输数据的格式,将数据传输到客户端.JSON有两种格式,一种是对象格式的,另一种是数组格式的 ...
- 页面传值的方法 和JSON与字符串和对象之间的转换
json数据解析 就是将json转换为数组或对象 json数据序列化 就是将数组或对象转化为json 转载于:https://www.cnblogs.com/yaomengli/p/6678709.h ...
- java xml收文转对象_Springmvc发送json数据转Java对象接收
1.导包 基于maven com.fasterxml.jackson.core jackson-databind 2.9.0 com.fasterxml.jackson.core jackson-co ...
- JSON数据与JavaScript对象转换
使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...
- json 解析 转java对象数组对象数组对象_json字符串转java对象数组
需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...
最新文章
- LeetCode 743. Network Delay Time
- jsfiddle网站介绍
- 如何快速是DNS修改生效
- 《数据分析变革:大数据时代精准决策之道》一1.5 小结
- java 如何循环执行一个对象_一个Java对象到底有多大?
- Pixhawk代码分析-姿态解算篇D
- 获取当前日期时间并格式化 - 常见格式
- react div组件设置可点击不可点击_React面试全解
- 《Pro ASP.NET MVC 3 Framework》学习笔记之一【MVC的历程,优点,HelloWorld】
- 2013~深圳百公里徒步
- 【数据结构教程 李春葆】上机实验--第一章实验题
- circos 可视化手册- heatmap 篇
- 5G网络测速,实在是太快了!
- 玩客云5.9千兆固件、docker、青龙面板
- HTML5作业:美食网站设计(浮动的使用)
- Dynamics 365的环境搭建完整流程(一)
- 游戏服务器停服维护公告,停服更新维护公告
- [HUST]多媒体安全实验:图像隐写JSTEG,F4,F5的实现
- ADADELTA AN ADAPTIVE LEARNING RATE METHOD
- CW——一款简易且有趣的文本编辑器
热门文章
- 辽宁建昌发现战国时期古墓群,欲建文物博物馆
- 小小数学家(python)
- 企业微信通讯录回调请求验证及接收
- [译] 漫画图解 JavaScript 引擎: let jsCartoons = ‘Awesome’;
- 【Python爬虫错误】ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接
- 数据结构与算法:求员工工资问题
- html里怎么计算梯形周长公式是什么,如何计算梯形的周长
- Triplet Loss: A Unified Embedding for Face Recognition and Clustering(论文阅读笔记)(2015CVPR)
- 01.开闭原则 Open-Closed Principle
- 防火墙实现URL过滤原理