常见的JSON类库简单使用和遇到的问题

1.常见的json类库

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,可以在多种语言之间进行数据交换。

选择一个合适的JSON库要从多个方面进行考虑:

        ①字符串解析成JSON性能;

        ②字符串解析成JavaBean性能;

        ③JavaBean构造JSON性能;

        ’④集合构造JSON性能;

        ⑤易用性。

常见的JSON类库为:FastJson,Json-lib、Gson、Jackson

maven依赖如下:

        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>

        <!--json-lib-->
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>

        <!--gson-->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>

        <!--jackson-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.13.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.13.1</version>
        </dependency>

2.json类库的使用

举例以下的使用:(暂时这么称呼,在Jackson中未找到对应的方式)

java对象-->JSON对象
java对象-->JSON字符串
JSON对象-->java对象
JSON对象-->JSON字符串
JSON字符串-->JSON对象
JSON字符串-->java对象

student实体类

package com.lmc;

/**
 * @author lmc
 * @version 1.0.0
 * @package PACKAGE_NAME description
 * @Description
 * @since 2022/8/9 17:29
 */
public class Student {
    private String id;
    private String name;
    private String age;

    //省略有参构造、无参构造、set、get、toString
}

2.1FastJson

package com.lmc;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * @author lmc
 * @version 1.0.0
 * @package PACKAGE_NAME description
 * @Description fastjson
 * @since 2022/8/9 17:27
 */
public class FastJsonTest {
    public static void main(String[] args) {
        Student student = new Student("1", "盖伦", "22");
        System.out.println("======================java对象转成json对象、字符串====================");
        //java对象-->json对象
        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(student);
        System.out.println("java对象-->json对象:" + jsonObject);
        //java对象-->字符串
        String s1 = JSON.toJSONString(student);
        System.out.println("java对象-->json字符串:" + s1);

        System.out.println();
        System.out.println("======================JSON对象转成java对象、字符串====================");
        //json对象-->java对象
        Student student1 = JSONObject.toJavaObject(jsonObject, Student.class);
        System.out.println("json对象-->java对象:" + student1.toString());
        //json对象-->字符串
        String s = JSONObject.toJSONString(jsonObject);
        System.out.println("json对象-->json字符串:" + s);

        System.out.println();
        System.out.println("======================字符串转成JSON对象、java对象====================");
        String stuString = "{\"id\":\"2\",\"name\":\"卢锡安\",\"age\":\"24\"}";
        //字符串-->JSON对象
        JSONObject jsonObject1 = JSONObject.parseObject(stuString);
        System.out.println("JSON字符串-->JSON对象:" + 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值