Java list转为object_List集合转JSONObject

Java list转为object_List集合转JSONObject写代码喜欢用Map拼接返回去给前端,这样得到的也是一个标准的JSON,今天先不说Map的优缺点,我们就来说说JSONObject的使用,我用的是阿里的fastjson,先上代码,当我们需要嵌套代码的时候,看需求:由于sessionData后面是{},所以后面的对象必须是一个JSONObject,如果是sessionData后面是[]就可以使用JSONArray。一般sessionDataExpir…

大家好,又见面了,我是你们的朋友全栈君。

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

009b88f48d155eb43ceb1ed72a7a1c07.png

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

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

f6dda2b5a840565ce1129a2dda7798fc.png

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

e04fcee347ec3b8a32e91f550a4edec6.png

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

a41b195af98f3d237bd2fe0c11eda1b7.png

这里我们可以看到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把方法都列出来,并找到自己想要的方法,这就是别人不用看源码就能很快上手一门技术的原因之一,只要看懂对象里面有什么方法,哪些是你需要用到的方法,你就离大神又进一步了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143827.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu10.04更新源_ubuntu修改更新源

    ubuntu10.04更新源_ubuntu修改更新源W:GPGerror:http://mirror.bjtu.edu.cnprecise/Release:Thefollowingsignaturescouldn’tbeverifiedbecausethepublickeyisnotavailable:NO_PUBKEY51716619E084DAB9W:Failedtofetchhttp://c…

    2022年10月13日
    2
  • aix dump_coredump文件分析

    aix dump_coredump文件分析Usingthedumpextractor,jextractTousethefullfacilitiesofthedumpviewer,youmustfirstrunthe jextract toolonthesystemdump.The jextract toolobtainsplatform-specificinformatio…

    2022年9月27日
    5
  • ubuntu安装python3.7,并更新python默认指向为python3.7

    ubuntu安装python3.7,并更新python默认指向为python3.7ubuntu默认带着的python版本不是最新版,因此需要手动安装最新版。查看python的指向。ls-l/usr/bin|greppython可以看到,此时python指向的是python3.4。第一部分:安装python3.71.直接使用apt-get安装python3.7失败:apt-getinstallpython3.72.改为手动安装…

    2022年6月23日
    55
  • ping原理和Traceroute原理

    ping原理和Traceroute原理ping原理ping主要是用来探测主机和主机之间是否可以进行通信,如果不能ping到某台主机,表示不能与这台主机建立连接。ping使用的是ICMP协议,他发送ICMP回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机,如果源主机在一定时间内收到应答,表明主机可达。ICMP协议是通过IP协议发送的,IP协议是无连接的,不可靠的数据报协议。ping是用来检测…

    2022年7月21日
    12
  • 各种云服务器性能优秀强大,各家云服务器性能对比

    各种云服务器性能优秀强大,各家云服务器性能对比各家云服务器性能对比内容精选换一换外部镜像文件在从原平台导出前,没有按照“Windows操作系统的镜像文件限制”的要求完成初始化操作,推荐您使用弹性云服务器完成相关配置。流程如图1所示。云服务器的正常运行依赖于XENGuestOSdriver(PVdriver)和KVMGuestOSdriver(UVPVMTools),未安装会对云服务器运行时的性能产生影使用弹性云服务器或者外部…

    2022年5月23日
    37
  • keil注册机激活的方法

    keil注册机激活的方法一次用注册机产生密码,在license里可能不可以激活。第一次运行一定要记住,要以管理员的身份运行mdk。以管理员的身份运行,注册成功。记录一下

    2022年6月6日
    81

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号