java object数组转实体类_详解Java中String JSONObject JSONArray List实体类转换

JSON使用阿里的fastJson为依赖包

gradle依赖管理如下:

compile group: "com.alibaba", name: "fastjson", version:"1.2.41"

1、String转JSONObject

前言:String 是JSONObject格式的字符串

eg:

0639d63e907865f13043f72f24cedff8.png

JSONObject jSONObject = JSONObject.parseObject(String);

2、String转JSONArray

前言:String 是JSONArray格式的字符串

eg:

e1153dd9b8c4622857f63b431121177f.png

JSONArray jsonArray= JSONArray.parseArray(String);

3、JSONObject中的数组提取为JSONArray

eg:

{

"AreaName": "北京",

"CityId": 110100,

"NoMarket": false,

"OldCityId": 646,

"Pinyin": "beijing",

"ProvinceId": 110000,

"Result": [

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "Stelvio 钜惠23.4万起",

"Url": "//www.autohome.com.cn/market/201904/100223763.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "马驹桥林肯中心年中大促",

"Url": "//www.autohome.com.cn/market/201906/100230932.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "星越平价销售13.58万元起",

"Url": "//www.autohome.com.cn/dealer/201906/367011492.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "哈弗F5限时优惠8000元",

"Url": "//www.autohome.com.cn/dealer/201906/366897778.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "购元新能源价格暂无优惠",

"Url": "//www.autohome.com.cn/dealer/201906/366897034.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "瑞虎3xe冰点价促销中!",

"Url": "//www.autohome.com.cn/dealer/201906/366889724.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "购奔奔EV现钜惠5.1万元",

"Url": "//www.autohome.com.cn/dealer/201906/366843204.html"

},

{

"ItemName": "优惠",

"ItemUrl": "/list/a646c12-1.html",

"Title": "购宝马7系价格暂无优惠",

"Url": "//www.autohome.com.cn/dealer/201906/366588080.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "途观L价格直降7.6万元",

"Url": "//www.autohome.com.cn/dealer/201906/366568937.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "购凯迪拉克XTS降8万",

"Url": "//www.autohome.com.cn/dealer/201906/366500646.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "汉兰达可试驾购车无优惠",

"Url": "//www.autohome.com.cn/dealer/201906/366384207.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "宝马M4价格稳定无优惠",

"Url": "//www.autohome.com.cn/dealer/201906/366156789.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "奥迪A8促销直降26.33万元",

"Url": "//www.autohome.com.cn/dealer/201906/366925378.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "英菲尼迪Q50L可降6.3万",

"Url": "//www.autohome.com.cn/dealer/201906/366863516.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "帝豪新能源价格降8.25万",

"Url": "//www.autohome.com.cn/dealer/201906/366877669.html"

},

{

"ItemName": "预定",

"ItemUrl": "/list/a646c14-1.html",

"Title": "撼路者在售现钜惠5万",

"Url": "//www.autohome.com.cn/dealer/201906/366912121.html"

}

]

}

4d968c756a3835aa350975bc0956ed71.png

提取Result对应的数组

JSONArray jsonArray= jsonObject.getJSONArray("Result");

4、JSONArray提取为JSONObject

eg:

7613c13fc600a608601c7d828c1db16b.png

JSONObject jsonObject = jsonArray.getJSONObject(0);

5、JSONObject获取value

1、object.getString("key")

2、object.get("key")

6、获取JSONObject的ket value

JSONArray dateArr = new JSONArray();

Set key = dateArr .keySet();

for (String keyObj:key) {

JSONArray hisData = history.getJSONArray(keyObj);

}

7、遍历JSONArray

第一种for循环

JSONArray seriesArr = new JSONArray();

for(int i=0;i

JSONObject object = eggsArr.getJSONObject(i);

}

第二种for增强

JSONArray pzListArr = new JSONArray();

for (Object obj:pzListArr) {

JSONObject dataObj = JSONObject.parseObject(obj.toString());

}

8、

Map paraMap = new HashMap();

JSONObject.toJSONString(paraMap)

自动过滤参数为null的数值

8、javaBean转为JSONObject

未完待续・・・・・・

9、List转String

import com.alibaba.fastjson.JSONObject;

List value1 = 。。。。。。

JSONObject.toJSONString(value1 )10、JSONArray转List

e0c277f9a0357ed3646cfc53963ac44d.png

看你开心用哪个,object和array的区别没有细究

10、JSONArray转List

import com.alibaba.fastjson.JSONArray;

JSONArray objects = JSONArray.parseArray(categoryConstantInfoFromRedis);

List categoryConstantInfos = objects.toJavaList(实体类名.class);

众里寻他千百度!!!toJavaList

9818d6cb6229e6c3a3819734aa49151c.png

找不到方法的时候,去看看JSONArray,JSONObject的源码,很多都有封装好的,你不会失望的

到此这篇关于详解Java中String JSONObject JSONArray List转换的文章就介绍到这了,更多相关String JSONObject JSONArray List转换 内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

原文链接:https://www.cnblogs.com/ljangle/p/11047111.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

e x泰勒 java_maven project

最近没事了玩一下maven,使用maven管理工程中的依赖包非常的方便。建立maven web工程的时候开始不知道怎么用tomcat来调试,总是使用mave的tomcat插件发布了后来调试,觉得非常的麻烦,网上找了点材料,看看maven web工程不…

java定义说话方法_类定义的基本形式_Java语言程

类定义的基本形式_Java语言程4.2.1 类定义的基本形式前面一节我们已经了解了类和对象的概念,然而在实际编程过程中,该如何定义一个类以及类中的对象呢?在Java语言中,用户自己可以定义一个类,作…

java创建线程几种_java中创建线程有几种方式

详细内容线程的创建方式1、继承Thread类实现多线程2、覆写Runnable()接口实现多线程,而后同样覆写run()。推荐此方式3、使用Callable和Future创建线程相关视频教程推荐:java学习视频实例如下:1、继承Thread类实现多线程/** 继承Thread类创建线…

php自定义中文分词方法,php实现的中文分词类完整实例

本文实例讲述了php实现的中文分词类。分享给大家供大家参考,具体如下:该中文分词类源码使用http://tools.ddpool.cn/code/jb51_php_format进行了格式化处理,便于阅读。具体代码如下:class Segmentation {var $options array(lowe…

手机电脑自适应导航源码php,自适应各终端懒人网址导航源码 v2.0

自适应各终端懒人网址导航源码。V2.0版本是在原1.8版本的基础上修复和增加了些功能。推荐直接使用新版本,舍弃旧版本,后期会继续不定期更新。测试环境:宝塔Nginx -Tengine2.2.3的php5.5mysql先导入数据库文件db/db.sql再修改config.php数据库…

php如何生成本地文档,php如何生成word文件

php生成word文件的方法:需求:甲方爸爸说“我有一个word文件,里面是关于用户信息的表格,你帮我把系统里面所有用户数据都按照这个文件导出来给我“;我当时就不乐意了,啪的一拍桌子站起来,愤愤的回…

php 显示状态,php-fpm status状态配置显示

系统为ubuntu,在usr/etc/sites-enabled/中编辑nginx配置文件server_name demo.com;location ~^/status$ {#auth_basic "status page";#fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;include fastcgi_params;fastcgi_pass unix:/var/…

matlab 动态目录调用程序集,C#中如何动态添加程序集查找目录

C#中如何动态添加程序集查找目录情况如下:现有三个程序集Main.exe, One.dll, Two.dll。其中One.dll引用了Two.dll, 并且One.dll与Two.dll部署在一起, 而Main.exe单独部署。在One.dll中有using Two;namespace One{public SomeType{public void DoSomethin…

matlab 红黑强度图片,matlab图形锐化程序

满意答案gveial5852013.10.31采纳率:50% 等级:12已帮助:11498人help imreadhelp fspecial imfilt帮助稳定中有较多的示例fspecial 函数功能:产生预定义滤波器格式:Hfspecial(type)Hfspecial(gaussian,n,sigma) 高斯…

php基础学哪些,榆林学习php需要哪些基础(PHP是什么)

榆林学习php需要哪些基础,想多学一门知识,陕西PHP培训对我们都是大有裨益的,紧接着就去了解下php代码运行方式有哪些,php常用框架有哪些,php为啥遭到它行鄙视,PHP是什么,php的性质有哪些&#x…

oracle 11gr2 asm安装,OEL6.1下oracle 11gr2 ASM安装

oracle 11gr2下asm与以往不同,是使用grid安装包来完成安装与配置,在11.2.0.3的安装包中,使用第三个安装包,解压以后进行以下配置:1. Asm相关用户及组配置/usr/sbin/groupadd -g 502 oper/usr/sbin/groupadd -g 600 asm…

oracle 12配置安全与更新,Oracle 12c 数据库安全核心技术讨论

Oracle AdvancedSecurity新功能 >Oracle Data RedactionOracle Data Redaction对应用户权限的实时访问控制根据用户的权限以及客户端信息,Redaction实时数据修正应用代码代表在不必要的数据库中完成列访问的控制根据客服中心以及技术支持的职责不同,对…

oracle11gR版本GI中新增,Oracle11g新特性MemberKillEscalation简介

从oracle 11gR1 开始,Member Kill Escalation的出现成功的解决了前面提到的情况。当实例eviction在指定的时间内(默认20秒)不能首先我们介绍一下历史。在Oracle 9i/10g 中,如果一个数据库实例需要驱逐(evict, alert 文件中会出现ora-29740错误)另一个实例…

linux命令为什么这么快,为什么这么多Linux用户更喜欢命令行而不是GUI?

为什么这么多 Linux 用户更喜欢 CLI 而非 GUI? 上次我在 Reddit 关注该问题时,遇到了一些有帮助的投稿:“处于相同的原因我更喜欢谈论指指点点和七嘴八舌。 可以很好的传达并给出很好的反馈。这不是一团糟,而是富有诗意的精确。 你…

mac os linux 桌面快捷键,Mac之快捷键

接触Mac不久,很多东西都没了解过,对于快捷键完全不熟悉,查了些资料,顺便做下笔记~~~按键符号Shift:⇧Ctrl:⌃Alt(Option):⌥Command:⌘Mac按键符号…

linux 等待进程,Linux 进程等待队列

Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待队列…

linux启动管理,Linux启动管理 详述

一 系统运行级别如果想查看运行级别,用runlevelinit 运行级别 就可以改变系统运行级别系统默认级别,也就是开机进入哪个级别,在/etc/inittab中二 启动过程首先是BIOS加载MBR,MBR里有个扇区,里面有启动引导程序&#xf…

linux vfs 根节点名称,Linux:文件,目录项,索引节点,超级块,VFS,具体文件系统...

【笔记:http://m.blog.csdn.net/blog/zhouzhou135】在了解文件系统之前,先了解磁盘格式化的知识。所以要理解文件系统的数据结构,要从两个方向来理解:1:磁盘中的数据结构:因为在磁盘格式化的时候&#xff0…

存储器块清零c语言版,存储器块清零实验报告

有关单片机存储器块清零实验的试验报告存储器块清零实验报告班级: 11级计科班 姓名:苏靖 学号:1120070544 日期:2012-12-19一、实验目的:1、掌握存储器读写方法2、了解存储器的块操作方法.二、实验要求: 设…

C语言exchange函数,C++指针作为函数参数

函数的参数不仅可以是整型、浮点型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送给被调用函数的形参。【例6.3】题目同例6.2,即对输入的两个整数按大小顺序输出。这里用函数处理,而且用指针类型的数据作函数参数。程序如…