详解Java中String JSONObject JSONArray List转换


Posted in Javascript onNovember 13, 2020

JSON使用阿里的fastJson为依赖包

gradle依赖管理如下:

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

1、String转JSONObject

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

eg:详解Java中String JSONObject JSONArray List转换

JSONObject jSONObject = JSONObject.parseObject(String);

2、String转JSONArray

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

eg:详解Java中String JSONObject JSONArray List转换

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"
    }
  ]
}

详解Java中String JSONObject JSONArray List转换

提取Result对应的数组

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

4、JSONArray提取为JSONObject

eg:

详解Java中String JSONObject JSONArray List转换

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<String> key = dateArr .keySet();
    for (String keyObj:key) {
      JSONArray hisData = history.getJSONArray(keyObj);      
    }

7、遍历JSONArray

第一种for循环
        JSONArray seriesArr = new JSONArray();
        for(int i=0;i<seriesArr .size();i++){
          JSONObject object = eggsArr.getJSONObject(i);
        }


第二种for增强
        JSONArray pzListArr = new JSONArray();
        for (Object obj:pzListArr) {
          JSONObject dataObj = JSONObject.parseObject(obj.toString());
        }

8、

Map<String, Object> paraMap = new HashMap<String, Object>();

JSONObject.toJSONString(paraMap)

自动过滤参数为null的数值

8、javaBean转为JSONObject

未完待续······

9、List<实体类>转String

import com.alibaba.fastjson.JSONObject;


List<实体类> value1 = 。。。。。。
JSONObject.toJSONString(value1 )10、JSONArray转List<实体类>

详解Java中String JSONObject JSONArray List转换

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

10、JSONArray转List<实体类>

import com.alibaba.fastjson.JSONArray;
JSONArray objects = JSONArray.parseArray(categoryConstantInfoFromRedis);
List<实体类> categoryConstantInfos = objects.toJavaList(实体类名.class);
众里寻他千百度!!!toJavaList

详解Java中String JSONObject JSONArray List转换

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

到此这篇关于详解Java中String JSONObject JSONArray List<实体类>转换的文章就介绍到这了,更多相关String JSONObject JSONArray List<实体类>转换 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jquery 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
用正则表达式替换图片地址img标签
Nov 22 Javascript
现如今最流行的JavaScript代码规范
Mar 08 Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 Javascript
第六章之辅组类与响应式工具
Apr 25 Javascript
js canvas实现擦除动画
Jul 16 Javascript
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
vue axios数据请求get、post方法及实例详解
Sep 11 Javascript
微信小程序实现左侧滑栏过程解析
Aug 26 Javascript
vue print.js打印支持Echarts图表操作
Nov 13 #Javascript
vue 中使用print.js导出pdf操作
Nov 13 #Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 #Javascript
Vue中nprogress页面加载进度条的方法实现
Nov 13 #Javascript
解决vue打包 npm run build-test突然不动了的问题
Nov 13 #Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 #Javascript
解决vuex刷新数据消失问题
Nov 12 #Javascript
You might like
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
Python实现把类当做字典来访问
2019/12/16 Python
python中for in的用法详解
2020/04/17 Python
keras打印loss对权重的导数方式
2020/06/10 Python
windows支持哪个版本的python
2020/07/03 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
承认错误的检讨书
2014/01/30 职场文书
殡葬服务心得体会
2014/09/11 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书