方法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对象之间的转换相关推荐

  1. Python:json数据与Python对象之间的转换

    json数据与Python对象之间的转换 1.前面介绍了在Python中如何处理json数据,主要使用了以下几个方法     ⑴dumps():将Python对象转换为JSON格式的字符串     ⑵ ...

  2. 7、JSON数据和Java对象的相互转换(客户端和服务器对象数据通讯用)

    JSON数据和Java对象的相互转换 需要使用JSON解析器(它是封装好的工具类),我们测试用用jackson         * 常见的解析器:Jsonlib,Gson(谷歌),fastjson(阿 ...

  3. JSON数据和Java对象的相互转换

    * JSON解析器:         * 常见的解析器:Jsonlib,Gson,fastjson,jackson          1. JSON转为Java对象         1. 导入jack ...

  4. JSON字符串与Java对象的互相转换(详解)

    <第四章-核心类库> 第8节 XML与Json 1. Json 1.1 简介 JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式 ...

  5. json数据解析,json数据转为java对象

    在Android开发过程中,经常需要与后台进行数据的交互,JSON作为一种轻量级的数据格式,经常被 后台作为传输数据的格式,将数据传输到客户端.JSON有两种格式,一种是对象格式的,另一种是数组格式的 ...

  6. 页面传值的方法 和JSON与字符串和对象之间的转换

    json数据解析 就是将json转换为数组或对象 json数据序列化 就是将数组或对象转化为json 转载于:https://www.cnblogs.com/yaomengli/p/6678709.h ...

  7. java xml收文转对象_Springmvc发送json数据转Java对象接收

    1.导包 基于maven com.fasterxml.jackson.core jackson-databind 2.9.0 com.fasterxml.jackson.core jackson-co ...

  8. JSON数据与JavaScript对象转换

    使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...

  9. json 解析 转java对象数组对象数组对象_json字符串转java对象数组

    需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...

最新文章

  1. LeetCode 743. Network Delay Time
  2. jsfiddle网站介绍
  3. 如何快速是DNS修改生效
  4. 《数据分析变革:大数据时代精准决策之道》一1.5 小结
  5. java 如何循环执行一个对象_一个Java对象到底有多大?
  6. Pixhawk代码分析-姿态解算篇D
  7. 获取当前日期时间并格式化 - 常见格式
  8. react div组件设置可点击不可点击_React面试全解
  9. 《Pro ASP.NET MVC 3 Framework》学习笔记之一【MVC的历程,优点,HelloWorld】
  10. 2013~深圳百公里徒步
  11. 【数据结构教程 李春葆】上机实验--第一章实验题
  12. circos 可视化手册- heatmap 篇
  13. 5G网络测速,实在是太快了!
  14. 玩客云5.9千兆固件、docker、青龙面板
  15. HTML5作业:美食网站设计(浮动的使用)
  16. Dynamics 365的环境搭建完整流程(一)
  17. 游戏服务器停服维护公告,停服更新维护公告
  18. [HUST]多媒体安全实验:图像隐写JSTEG,F4,F5的实现
  19. ADADELTA AN ADAPTIVE LEARNING RATE METHOD
  20. CW——一款简易且有趣的文本编辑器

热门文章

  1. 辽宁建昌发现战国时期古墓群,欲建文物博物馆
  2. 小小数学家(python)
  3. 企业微信通讯录回调请求验证及接收
  4. [译] 漫画图解 JavaScript 引擎: let jsCartoons = ‘Awesome’;
  5. 【Python爬虫错误】ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接
  6. 数据结构与算法:求员工工资问题
  7. html里怎么计算梯形周长公式是什么,如何计算梯形的周长
  8. Triplet Loss: A Unified Embedding for Face Recognition and Clustering(论文阅读笔记)(2015CVPR)
  9. 01.开闭原则 Open-Closed Principle
  10. 防火墙实现URL过滤原理