详解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 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
Jan 06 Javascript
jQuery实现form表单元素序列化为json对象的方法
Dec 09 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
Nov 16 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
详解JavaScript中return的用法
May 08 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
Vue中computed与methods的区别详解
Mar 24 Javascript
JavaScript显式数据类型转换详解
Mar 18 Javascript
vue语法自动转typescript(解放双手)
Sep 18 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 Javascript
交互式可视化js库gojs使用介绍及技巧
Feb 18 Javascript
浅析JavaScript中的变量提升
Jun 01 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模板页面中分页代码的解析
2009/02/06 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
2014/09/26 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
解析Python中的异常处理
2015/04/28 Python
对python:循环定义多个变量的实例详解
2019/01/20 Python
Python3最长回文子串算法示例
2019/03/04 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
铭万公司.net面试题笔试题
2014/07/20 面试题
高中生自我评语大全
2014/01/19 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
公司节能减排倡议书
2014/05/14 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书