[java]JsonObject与JsonArray转换

这篇具有很好参考价值的文章主要介绍了[java]JsonObject与JsonArray转换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

备忘一下,首先
这是一个JsonArrayStr,他可以转换为JsonArray

[{"name":"a1"},{"name":"a2"}]

这是一个JsonObjectStr,他可以转换为JsonObject

{"result":[{"name":"a1"},{"name":"a2"}]}

JsonObject转换为java对象、JsonArray转换为Java对象

JsonObject的value为JsonArray,对应的java类型为List。在案例中,java代码如下(这里用的内部类)

@Data
@AllArgsConstructor
@NoArgsConstructor
class AList{
    private List<PersonA> result;
}

@Data
@AllArgsConstructor
@NoArgsConstructor
class PersonA{
    private String name;
}
  • 使用fastjson转换jsonStr为java对象,完整代码如下

public class JsonTest {

    public static void main(String[] args) {

        String strArray  ="[{\"name\":\"a1\"},{\"name\":\"a2\"}]";
        String strObject  ="{\"result\":[{\"name\":\"a1\"},{\"name\":\"a2\"}]}";
        // parseArray保证属性key一致即可正确转换
        List<PersonA> personAList = JSON.parseArray(strArray, PersonA.class);
        // parseObject需要保证属性key一致即可正确转换
        AList aList = JSON.parseObject(strObject, AList.class);

    }
}

@Data
@AllArgsConstructor
@NoArgsConstructor
class AList{

    private List<PersonA> result;

}

@Data
@AllArgsConstructor
@NoArgsConstructor
class PersonA{
    private String name;
}

  • 使用hutool转换jsonStr为java对象,核心代码如下
 List<PersonA> personAList = JSONUtil.toList(JSONUtil.parseArray(strArray), PersonA.class);

JsonArray转换为JsonObject

已知一个JsonArrayStr,内容为。

[{"name":"a1"},{"name":"a2"}]

不可以直接parseObject,JsonObject格式为{},且含有键值对。
使用以下方法将JsonArrayStr转换为JsonObject对象:

  • 使用fastjson
        JSONArray array = JSON.parseArray(strArray);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("result",array);
  • 使用hutool
        JSONArray array = JSONUtil.parseObj(strArray);;
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("result",array);

即将JsonArrayStr转换为JsonObjectStr

{"result":[{"name":"a1"},{"name":"a2"}]}

真的搞不懂,为什么上游传一个json值下来,直接传一个object不行么?不行么?不行么???????

JsonArrayStr 转换为 JsonObjectStr

有什么好说的,加括号,加键。
推荐使用hutool的StrUtil.wrap()

        String strArray = "[{\"name\":\"a1\"},{\"name\":\"a2\"}]";
        String strObject  = StrUtil.wrap(strArray, "{\"result\":", "}");

最后得到的值为文章来源地址https://www.toymoban.com/news/detail-420646.html

{"result":[{"name":"a1"},{"name":"a2"}]}

到了这里,关于[java]JsonObject与JsonArray转换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】JSONarray转JSONobject

    公司开发有用到,但是经常会忘记,做笔记记录一下!         1、将数据包转成JSONarray         2、使用for循环遍历JSONarray【这里使用size()方法】         3、每次循环取到的JSONObject对象         4、再根据对象中的字段类型使用getXxx()取到值  

    2024年02月13日
    浏览(25)
  • JSONArray与JSONObject

    最近有个需求: 要接收某个接口的 JSON 数据,而这个JSON数据有可能是一个 JSON 对象,也有可能是一个 JSON数组。 现在呢,我需要根据传递过来的 JSON 数据进行判断,如果是对象就调用 resolve1(),如果是数组就调用 resolve2()。 依赖: 本文采用 fastjson 来处理 JSON 数据 因为要处理

    2024年02月05日
    浏览(25)
  • 使用JSONObject与JSONArray进行解析json数据

    JSONObject: JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。 JSONArray: JSONArray是一个有序的值序列。它的外部文本形式是一个用

    2024年02月03日
    浏览(28)
  • 一文让你熟练使用 JSONObject 和 JSONArray

    导入阿里的 fastjson 依赖。 通过 JSONObject.parseObject(String str) 将字符串转换为 JSONObject 对象,此方法支持 JSON 字符串,JSON 字符串格式如下: 写法一: 写法二: 转换案例代码: 输出: 如果是 JSONArray 类型的字符串,如下: 则需要用 JSONArray.parseArray() 将 JSON 转换为 String,使用

    2023年04月24日
    浏览(25)
  • Java中JSONArray转换List的方法

    JSONArray字符串 转 List 输出结果: [a, b, c] JSONArray对象 转 List实体类对象 Body.class代码: 输出结果: [{“name”:“zhangsan”,“age”:18},{“name”:“lisi”,“age”:23}] [Body{name=‘zhangsan’, age=18}, Body{name=‘lisi’, age=23}] List转JSONArray

    2024年02月14日
    浏览(34)
  • Cartographer算法2D激光雷达与IMU融合建图 首先先说一下我的硬件设备:

     上一篇文章讲了cartographer算法手持雷达建图的参数调试,这篇进一步讲如何融合2D雷达与IMU采用cartographer算法进行slam建图。 cartographer算法手持二维激光雷达建图(不使用里程计及IMU) https://blog.csdn.net/wangchuchua/article/details/127268037?spm=1001.2014.3001.5502 思岚s1激光雷达、Tobotics

    2023年04月10日
    浏览(31)
  • 记录 JSONObject.parseObject json对象转换 对象字段为null

            使用websocket 接收消息都是String类型,没办法自定义实体类接收,所以接发都必须将json 转 对象 对象转 json。         这是我最开始的实体类,也就是转换的类型        websocket 前端还没完成开发,我使用postman 测试            刚开始我是按照平常发送请求的格式

    2024年02月10日
    浏览(26)
  • 【Java】JSONArray详解

    JSONArray是JSON数据格式中的一种数据结构,主要用于存储和操作有序的元素集合。本文将对JSONArray进行详细介绍,包括其定义、使用方法和实际应用场景。 JSONArray是一种有序的元素集合,可以包含任意类型的数据,如字符串、数字、布尔值、null、数组或另一个JSON对象。JSONA

    2024年02月07日
    浏览(27)
  • ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to 接口json数据转换异常。

    之前在使用fastjson进行接口传输数据时,碰到接收端数据转换异常问题,难了我好久。 例如:我们需要将json转换成实例集合 通常对JSON对象的转换操作是使用 强转 导致一些朋友对实例对象的操作也是进行强转 如下 这样的话我们在对 list 操作时就会报类似如下错误 所以之后

    2024年02月10日
    浏览(35)
  • Java将JSONArray转为List<HashMap>

    大家好!今天给大家分享的知识是在Java中如何将JSONArray转为ListHashMap 最近在开发过程中遇到了一个问题,就是如何将JSONArray类型转为ListHashMap,于是我找到了解决办法,话不多说,直接上代码: 此处直接转肯定是不行的,需要先得到JSONArray中的JSONObject,然后保存到map,再然

    2024年01月24日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包