广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用Gson将字符串转换成JsonObject和JsonArray
  • 280
分享到

使用Gson将字符串转换成JsonObject和JsonArray

Gson字符串字符串转JsonObject字符串转JsonArray 2022-11-13 01:11:06 280人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录Gson将字符串转JSONObject和jsonArray以下均利用Gson来处理JSONObject与JSON互转引入 jar , 此处引入 com.alibaba.fastj

Gson将字符串转JsonObject和JsonArray

以下均利用Gson来处理

1.将bean转换成Json字符串:

public static String beanToJSONString(Object bean) {
        return new Gson().toJson(bean);
    }

2.将Json字符串转换成对象:

public static Object JSONToObject(String json,Class beanClass) {
        Gson gson = new Gson();
        Object res = gson.fromJson(json, beanClass);
        return res;
    }

注:转换后的对象使用前进行强转:例如bean bean1 = (bean)FORMatUtil.JSONToObject(json, bean.class);

3.将Json字符串转换成JsonObject对象:

JsonObject returnData = new JsonParser().parse(jsonstr).getAsJsonObject();

4.将JsonArray类型的Json字符串解析成对象方法  

    Gson gson = new Gson(); 
    JsonParser parser = new JsonParser(); 
    JsonArray Jarray = parser.parse(jstring).getAsJsonArray(); 
 
    ArrayList<channelSearchEnum> lcs = new ArrayList<channelSearchEnum>(); 
 
    for(JsonElement obj : Jarray ){ 
        channelSearchEnum cse = gson.fromJson( obj , channelSearchEnum.class); 
        lcs.add(cse); 
    }

或者

String json = "[{\"username\":\"test\"},{\"username\":\"test2\"}]"; 
System.out.println(new JsonParser().parse(json).getAsJsonArray().get(0).getAsJsonObject().get("username").getAsString());

5.获取JsonObject中指定key值对应的JsonArray对象:

String json= "{\"pids\":[\"1\",\"2\",\"3\"]}";
System.out.println(new JsonParser().parse(json).getAsJsonObject().getAsJsonArray("pids").get(0).getAsString());

JSONObject与JSON互转

使用目的

目前数据交互大多以 JSON 字符串为信息传输,主要格式有

{"age":"22","name":"李四"}

[{"age":"21","name":"张三"}]

最常见的应用场景是前后端对接,第三方平台文档对接,下面展示转换使用。

引入 jar , 此处引入 com.alibaba.fastjson 版本的jar包

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.1.31</version>
        </dependency>

建立测试类对象

class Student {
    private String name;
    private String age;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getAge() {
        return age;
    }
 
    public void setAge(String age) {
        this.age = age;
    } 
}

转换

1、对象 转 JSON

        Student stu1 = new Student();
        stu1.setName("张三");
        stu1.setAge("21");
        String stu1Json = JSONObject.toJSONString(stu1);

输出:

{"age":"21","name":"张三"}

2、JSON 转 对象

        Student stu1to = JSON.parseObject(stu1Json, Student.class);
        System.out.println("json 转对象:");
        System.out.println(stu1to);
        System.out.println(stu1to.getName());
        System.out.println(stu1to.getAge());

输出:

json 转对象:
Student@2aae9190
张三
21

注:JSON键名要与对象属性名相对应

3、对象数组 转 JSON

        Student stu2 = new Student();
        stu2.setName("李四");
        stu2.setAge("22");
        List<Student> list = new ArrayList<Student>();
        list.add(stu1);
        list.add(stu2);
 
        String listJson = JSONObject.toJSONString(list);
        System.out.println(listJson);

输出:

[{"age":"21","name":"张三"},{"age":"22","name":"李四"}]

4、JSON 转 对象数组

        List<Student> studentList = JSON.parseArray(listJson, Student.class);
        for (Student student : studentList) {
            System.out.println(student.getName());
        }

输出:

json 数组格式转换对象
张三
李四

5、JSON多级组合,适用于请求文档传输参数

        JSONObject jsona = new JSONObject();
        jsona.put("number", "1");
        JSONObject jsonb = new JSONObject();
        jsonb.put("listMap", list);
 
        JSONObject jsonAll = new JSONObject();
        jsonAll.put("jsona", jsona);
        jsonAll.put("jsonb", jsonb);
        String jsonAllStr =JSONObject.toJSONString(jsonAll);
        System.out.println(jsonAllStr);

输出:

{"jsona":{"number":"1"},"jsonb":{"listMap":[{"age":"21","name":"张三"},{"age":"22","name":"李四"}]}}

6、多级 JSON 组合

6.1、只获取指定字段,接上方示例代码

String getJsona = JSON.parseObject(jsonAllStr).getString("jsona");
String strjsona = JSON.parseObject(getJsona, String.class); //指定获取 字段名对象信息,如果为单个String可不指定,这里作为实例写出
System.out.println("只拿jsona信息");
System.out.println(strjsona);

输出:

只拿jsona信息
{"number":"1"}

6.2、获取指定字段对象

    String getJsonb = JSON.parseObject(jsonAllStr).getString("jsonb");
    String getJsonbb = JSON.parseObject(getJsonb).getString("listMap");    //这里被二级包裹,所以要获取2次才能转换对象数组
    List<Student> strjsonb = JSON.parseArray(getJsonbb, Student.class);
    System.out.println("只拿jsonbb信息");
    System.out.println(strjsonb);

输出:

只拿jsonbb信息
[Student@3D04a311, Student@7a46a697]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用Gson将字符串转换成JsonObject和JsonArray

本文链接: https://www.lsjlt.com/news/138216.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Gson将字符串转换成JsonObject和JsonArray
    目录Gson将字符串转JsonObject和JsonArray以下均利用Gson来处理JSONObject与JSON互转引入 jar , 此处引入 com.alibaba.fastj...
    99+
    2022-11-13
    Gson字符串 字符串转JsonObject 字符串转JsonArray
  • 如何使用Gson将字符串转换成JsonObject和JsonArray
    本篇内容介绍了“如何使用Gson将字符串转换成JsonObject和JsonArray”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Gson...
    99+
    2023-06-29
  • 在java项目中如何将 json字符串转换为JSONObject与JSONArray格式
    在java项目中如何将 json字符串转换为JSONObject与JSONArray格式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java json字符串转...
    99+
    2023-05-31
    java jsonobject jsonarray
  • Java-json相关转换,JSONObject与实体类/map互转、List/List<map>和JSONArray互转、获取JSONObject中的key value、字符串String转换等
    博客背景是Java开发。json相关的转换、取值等在日常开发中经常使用,但有时候还是会忘记or遇到些奇奇怪怪的问题。以此记录,提醒自己~不定期更新~ 文章目录 1、JSONObject相关实体类和JSONObject互转Map和JS...
    99+
    2023-08-17
    java json list
  • JavaScript如何使用+将字符串转换成数字
    这篇文章将为大家详细讲解有关JavaScript如何使用+将字符串转换成数字,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用+将字符串转换成数字这个技巧非常有用,其非常简单,可以交字符串数据转换成数字,...
    99+
    2023-06-27
  • php 将数组转换成字符串
    PHP是一门流行的编程语言,用于创建交互式的web应用程序。在PHP中,数组是一种非常常用的数据类型,通常用于存储和处理大量数据。有时候,我们可能需要将一个数组转换成字符串,以便于数据的传输或存储。本文将介绍如何将PHP数组转换成字符串。i...
    99+
    2023-05-23
  • 使用Java怎么将小写字符串转换成大写字符串
    使用Java怎么将小写字符串转换成大写字符串?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. An...
    99+
    2023-06-14
  • python怎么将数字转换成字符串
    可以使用str()函数将数字转换为字符串。例如:pythonnumber = 123string = str(number)prin...
    99+
    2023-10-20
    python
  • javascript如何将字符串转换成数字
    这篇文章将为大家详细讲解有关javascript如何将字符串转换成数字,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 转换方法:1、利用“-”...
    99+
    2022-10-19
    javascript
  • 使用golang怎么将数组转换成字符串
    使用golang将数组转换成字符串的方法:1.通过赋值方式将数组元素赋值给字符串;2.通过遍历数组将数组元素追加成字符串;使用golang将数组转换成字符串的方法有以下两种通过赋值方式将数组元素赋值给字符串arr := make([]str...
    99+
    2022-10-10
    golang 字符串
  • php中怎么将数字转换成字符串
    PHP 是一门功能强大的服务器脚本语言,它支持将数字转换成字符串的功能。这项功能在某些情况下会非常有用,比如在处理表单输入、数据存储以及输出等方面。在本文中,我们将介绍 PHP 中如何将数字转换成字符串。一、使用 (string) 操作符P...
    99+
    2023-05-14
  • javascript中如何将字符串转换成数字
    目录转换方法javascript将字符串转换成数字方法1方法2方法3方法4总结转换方法 1、利用“-”、“*”、“/&rd...
    99+
    2023-02-10
    javascript字符串 javascript数字 js字符串转换数字
  • php如何将数组转换成字符串
    在php中使用implode函数将数组转换成字符串:implode函数是用于返回一个由数组元素组合成的字符串,语法:implode(separator,array);在php中使用implode函数将数组转换成字符串,具体方法如下:impl...
    99+
    2022-10-09
    PHP 字符串 数组
  • python怎么将字符串转换成列表
    要将一个字符串转换成一个列表,可以使用字符串的split()函数来分割字符串,并将每个分割后的部分作为列表的元素。这是一个示例代码:...
    99+
    2023-09-26
    python
  • php怎么将字符串转换成小数
    PHP 是一门功能强大的编程语言,广泛应用于 Web 开发领域。其中一个非常常见的情况是需要将字符串转换为小数。这在进行数据处理的时候非常有用。在本文中,我们将介绍如何在 PHP 中将字符串转换为小数。首先,我们需要注意一些基础知识。在 P...
    99+
    2023-05-14
    浮点数 字符串 php
  • java中如何将字符串转换成int
    在Java中,可以使用`Integer.parseInt()`方法将字符串转换为整数。下面是一个示例代码:```javaString...
    99+
    2023-09-09
    java
  • Sql中怎么将datetime转换成字符串
    Sql中怎么将datetime转换成字符串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、回顾一下CONVERT()的语法格式:CONV...
    99+
    2022-10-18
    sql datetime
  • jquery怎么将数组转换成字符串
    使用jquery将数组转换成字符串的方法:1.新建html项目,引入jquery;2.定义数组并赋值;3.添加button按钮,绑定onclick点击事件;4.获取数组对象,使用join()方法转换;具体步骤如下:首先,新建一个html项目...
    99+
    2022-10-06
    jquery
  • php如何将整形转换成字符串
    在php中使用strval()函数将整形转换成字符串,具体方法如下:strval()函数作用:php中strval()函数的作用是用于获取变量的字符串值。strval()函数语法:string strval ( mixed $var )参数...
    99+
    2022-10-13
    PHP 字符串
  • php中将数组转换成json字符串
    JSON(JavaScript Object Notation)是一种常用的数据交换格式,它使用文本格式,支持多种编程语言,尤其适合在Web和移动应用中使用。在PHP中,我们可以很容易地将一个数组转换为JSON字符串。在PHP中,我们可以使...
    99+
    2023-05-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作