详解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 相关文章推荐
用javascript作一个通用向导说明
Aug 30 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
Sep 29 Javascript
javascript贪吃蛇完整版(源码)
Dec 09 Javascript
javascript中hasOwnProperty() 方法使用指南
Mar 09 Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
jQuery中的基本选择器用法学习教程
Apr 14 Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
Sep 17 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
JS实现京东商品分类侧边栏
Dec 11 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
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
php简单smarty入门程序实例
2015/06/11 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
质检员岗位职责
2013/12/17 职场文书
家长对学生的评语
2014/04/18 职场文书
岗位安全生产责任书
2014/07/28 职场文书
百年孤独读书笔记
2015/06/29 职场文书
文艺委员竞选稿
2015/11/19 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery