老程序员分享:JAVA对象转换JSON

简介: 老程序员分享:JAVA对象转换JSON

"

1. 把java 对象列表转换为json对象数组,并转为字符串

复制代码 代码如下:

JSONArray array = JSONArray.fromObject(userlist);

String jsonstr = array.toString();

2.把java对象转换成json对象,并转化为字符串

复制代码 代码如下:

JSONObject object = JSONObject.fromObject(invite);

String str=object.toString());

3.把JSON字符串转换为JAVA 对象数组

复制代码 代码如下:

String personstr = getRequest().getParameter(""persons"");

JSONArray json = JSONArray.fromObject(personstr);

List persons = (List)JSONArray.toCollection(json, //代码效果参考:https://v.youku.com/v_show/id_XNjQwNjU5MjkwOA==.html

nvoidPerson.class);

4.把JSON字符串转换为JAVA 对象

复制代码 代码如下:

JSONObject jsonobject = JSONObject.fromObject(str);

PassportLendsEntity passportlends = null;

try {

//获取一个json数组

JSONArray array = jsonobject.getJSONArray(""passports"");

//将json数组 转换成 List

泛型

List

list = new ArrayList

();

for (int i = 0; i < array.size(); i++) {

JSONObject object = (JSONObject)array.get(i);

PassPortForLendsEntity passport = (PassPortForLendsEntity)JSONObject.toBean(object,

PassPortForLendsEntity.class);

if(passport != null){

list.add(passport);

}

}

//转换PassportLendsEntity 实体类

passportlends = (PassportLendsEntity)JSONObject.toBean(jsonobject, PassportLendsEntity.class);

str = ""{\""lendperson\"":\""李四\"",\""lendcompany\"":\""有限公司\"",\""checkperson\"":\""李四\"",

\""lenddate\"":\""2010-07-19T00:00:00\"",\""lendcounts\"":4,\""

passports\"":【{\""passportid\"":\""d\"",\""name\"":\""李豫川\"",\""passporttype\"":\""K\""},

{\""passportid\"":\""K9051\"",\""name\""//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjU5MTY0OA==.html

:\""李平\"",\""passporttype\"":\""K\""},

{\""passportid\"":\""K90517\"",\""name\"":\""袁寒梅\"",\""passporttype\"":\""K\""},

{\""passportid\"":\""K905199\"",\""name\"":\""贺明\"",\""passporttype\"":\""K\""}】}"";

相关的jar包:

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:

JSON在线格式化工具:

在线XML/JSON互相转换工具:

json代码在线格式化/美化/压缩/编辑/转换工具:

在线json压缩/转义工具:

C语言风格/HTML/CSS/json代码格式化美化工具:


"
image.png
相关文章
|
19天前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
44 9
|
18天前
|
安全 Java 编译器
Java对象一定分配在堆上吗?
本文探讨了Java对象的内存分配问题,重点介绍了JVM的逃逸分析技术及其优化策略。逃逸分析能判断对象是否会在作用域外被访问,从而决定对象是否需要分配到堆上。文章详细讲解了栈上分配、标量替换和同步消除三种优化策略,并通过示例代码说明了这些技术的应用场景。
Java对象一定分配在堆上吗?
|
4天前
|
SQL 存储 Java
面向 Java 程序员的 SQLite 替代品
SQLite 是轻量级数据库,适用于小微型应用,但其对外部数据源支持较弱、无存储过程等问题影响了开发效率。esProc SPL 是一个纯 Java 开发的免费开源工具,支持标准 JDBC 接口,提供丰富的数据源访问、强大的流程控制和高效的数据处理能力,尤其适合 Java 和安卓开发。SPL 代码简洁易懂,支持热切换,可大幅提高开发效率。
|
22天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
43 17
|
16天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
21天前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。
|
22天前
|
IDE Java 程序员
C++ 程序员的 Java 指南
一个 C++ 程序员自己总结的 Java 学习中应该注意的点。
20 5
|
30天前
|
存储 Java 数据管理
Java零基础-Java对象详解
【10月更文挑战第7天】Java零基础教学篇,手把手实践教学!
25 6
|
30天前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
在Java中处理JSON数据:Jackson与Gson库比较
|
21天前
|
存储 缓存 NoSQL
一篇搞懂!Java对象序列化与反序列化的底层逻辑
本文介绍了Java中的序列化与反序列化,包括基本概念、应用场景、实现方式及注意事项。序列化是将对象转换为字节流,便于存储和传输;反序列化则是将字节流还原为对象。文中详细讲解了实现序列化的步骤,以及常见的反序列化失败原因和最佳实践。通过实例和代码示例,帮助读者更好地理解和应用这一重要技术。
20 0