详解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 08 Javascript
利用javascript的面向对象的特性实现限制试用期
Aug 04 Javascript
js日期相关函数总结分享
Oct 15 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
Mar 18 Javascript
js改变Iframe中Src的方法
May 05 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
May 20 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
Dec 14 Javascript
js前端导出Excel的方法
Nov 01 Javascript
微信小程序文字显示换行问题
Jul 28 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数组总结篇(一)
2008/09/30 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
javascript 网页跳转的方法
2008/12/24 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
Highcharts入门之简介
2016/08/02 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python3简单实现串口通信的方法
2019/06/12 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
C语言面试题
2013/05/19 面试题
利用指针变量实现队列的入队操作
2012/04/07 面试题
办理退休介绍信
2014/01/09 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
英文辞职信范文
2015/05/13 职场文书
运动会通讯稿200字
2015/07/20 职场文书
python中%格式表达式实例用法
2021/06/18 Python
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python