写代码喜欢用Map拼接返回去给前端,这样得到的也是一个标准的JSON,今天先不说Map的优缺点,我们就来说说JSONObject的使用,我用的是阿里的fastjson,先上代码,当我们需要嵌套代码的时候,看需求:

由于sessionData后面是{},所以后面的对象必须是一个JSONObject,如果是sessionData后面是[]就可以使用JSONArray。一般sessionDataExpires,sessionDataKey,sessionDataValue字段都是从缓存或数据库中查出来的,我们查出来的数据都习惯用List去接收,那么问题就来了,List对象怎么转成JSONObject呢?由于我翻了百度好几页都没有我想要的答案,所以才有了这篇博客。

要知道List对象怎么转成JSONObject,我们直接来看源码即可,在idea中把所有JSONObject的方法都.出来:

在所有方法中,我们很容易看到哪些方法是返回了一个JSONObject的,而这个方法正是我们需要的,我们先看到parseObject这个方法,他返回的就是一个JSONObject

找到了parseObject方法,但是问题又来了,我们的参数是List,但是parseObject方法接收的参数是一个String类型(这个Stirng是JSON格式的String,不能任意写)。那我们就继续点(.)方法,再找我们需要的方法:

这里我们可以看到toJSONString方法,传入要给Objec对象,就能得到一个String类型的结果,由于一切对象,不管是List ,Map还是其他对象,都属于Object对象,所以我们就可以使用toJSONString这个方法来满足我们的要求,最后看一下代码:

1 List list = new ArrayList(16);

2 JSONObject result = JSONObject.parseObject(JSONObject.toJSONString(list));

这里我们得到的result就是一个JSONObject格式的数据了,最后在通过一个JSONObject来拼接,就能得到我们的最终效果了,看代码:

1 List list = new ArrayList(16);

2 JSONObject result = JSONObject.parseObject(JSONObject.toJSONString(list));

3 JSONObject data = new JSONObject();

4 data.put("allMenuList",result);

写到这里,我只能说真香!顺带说一句,这里主要是理解怎么通过idea把方法都列出来,并找到自己想要的方法,这就是别人不用看源码就能很快上手一门技术的原因之一,只要看懂对象里面有什么方法,哪些是你需要用到的方法,你就离大神又进一步了。

Java list转为object_List集合转JSONObject相关推荐

  1. JAVA对象集合转化为xml转换_xml转为Map集合以及对象转化为xml

    1.[代码][Java]代码 package com.fang.util; import java.io.InputStream; import java.util.HashMap; import j ...

  2. java.lang.ClassCastException: cn.hutool.json.JSONObject cannot be cast toXXXX

    java.lang.ClassCastException: cn.hutool.json.JSONObject cannot be cast toXXXX 除了网上常见解决方案以外,也存在另一种可能导 ...

  3. Java中遍历Map集合的5种方式总结

    这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...

  4. java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.xx.xx.xx.xx.Acce

    java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.xx.xx.xx.xx.Acce ...

  5. 【JAVA知识梳理】集合总结!

    活动地址:CSDN21天学习挑战赛 本文已收录于专栏 ⭐️ <java 知识梳理>⭐️ 集合 集合体系图 单列集合: Collection 的子接口下的 List 和 Set 的实现子类均 ...

  6. java不同对象的集合拷贝_集合java对象

    JAVA基础教程汇总 到这一篇博客为止,JAVA的基础部分已经介绍完了,这一篇为基础部分的汇总. JAVA介绍 JAVA概述 Java的特点 JDK/bin目录下的不同exe文件的用途 JAVA环境变 ...

  7. Java基础知识第二讲:Java开发手册/JVM/集合框架/异常体系/Java反射/语法知识/Java IO

    Java基础知识第二讲(Java编程规范/JVM/集合框架/异常体系/Java反射/语法知识/Java IO/码出高效) 分享在java学习及工作中,常使用的一些基础知识,本文从JVM出发,讲解了JV ...

  8. [转]Java中常用的集合—初学者的你不可错过的精编整理

    集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!    因为 ...

  9. Java 8中处理集合的优雅姿势——Stream

    在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便 ...

最新文章

  1. 关于consistent hash的思考及改进方案
  2. 带命令行参数的main函数的误解[到处转载的垃圾]
  3. 新茶饮“降价内卷”的尽头,是供应链?
  4. DSP using MATLAB 示例Example3.1 3.2 3.3
  5. C 11实现的100行线程池
  6. c语言对字符串逆序,【C语言】 字符串逆序
  7. 2019.03.21 创建表 一对多,一对一,多对多。
  8. ESP32-cam 初体验 从esp32-cam的购买到局域网监控的实现
  9. SAP物料编码- -
  10. Xshell 7官网免费版下载与安装(详细教程)
  11. 计算机网络重点知识整理(自顶向下)
  12. 文本特征提取之TF-IDF算法(原理+Python代码)
  13. 《当程序员的那些狗日日子》六
  14. 利用python实现m4a格式到MP3的转换
  15. coreldraw怎么打印荣誉证书_CorelDraw如何批量打印证书
  16. 前端input操作,修改光标颜色,去除背景色
  17. pytorch应用之——纸币识别(一)
  18. air flow空调上是什么意思_air flow空调滤芯上是什么意思
  19. 蔡徐坤1亿转发量幕后推手“星援app”被端
  20. android studio单选按钮,在Android Studio中设置默认单选按钮

热门文章

  1. 科技股最惨一周,马斯克等5人损失670亿美元
  2. PC端和移动端唤起QQ聊天
  3. State模式与Strategy模式的区别
  4. 感谢朋友们的关心。 我回来了。
  5. 男人最帅的42个瞬间!
  6. php中使用confirm,如何使用JavaScript中的confirm()方法
  7. wow怀旧服服务器稳定性真差,魔兽世界怀旧服:纠结选什么服务器?劝你避开哈霍兰,它才是正道...
  8. 堆转储上的线程:_妖精陷阱:线程转储分析模式
  9. 神域传奇java,神域领地超变传奇
  10. pyspark udf