当前位置: 首页 > news >正文

Java中的 json文件

在 Java 中处理 JSON 文件时,常用的库包括 JacksonGson 


使用Jackson处理JSON文件

1. 引入Jackson依赖(如果你使用Maven)   
<!-- Maven 依赖 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version>
</dependency>
2. 将JSON文件解析为Java对象
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper objectMapper = new ObjectMapper();
        
        try {
            // 假设有一个Student类
            Student student = objectMapper.readValue(new File("student.json"), Student.class);
            System.out.println(student);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

class Student {
    private String name;
    private int age;

    // getters and setters

    @Override
    public String toString() {
        return "Student{name='" + name + "', age=" + age + "}";
    }
}
3. 将Java对象写入JSON文件
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper objectMapper = new ObjectMapper();
        
        Student student = new Student();
        student.setName("John");
        student.setAge(25);
        
        try {
            objectMapper.writeValue(new File("output.json"), student);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用Gson处理JSON文件

1. 引入Gson依赖(如果你使用Maven)
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version> <!-- 请根据需要选择版本 -->
</dependency>
2. 将JSON文件解析为Java对象
import com.google.gson.Gson;
import java.io.FileReader;
import java.io.IOException;

public class JsonExample {
    public static void main(String[] args) {
        Gson gson = new Gson();
        
        try (FileReader reader = new FileReader("student.json")) {
            Student student = gson.fromJson(reader, Student.class);
            System.out.println(student);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

class Student {
    private String name;
    private int age;

    // getters and setters

    @Override
    public String toString() {
        return "Student{name='" + name + "', age=" + age + "}";
    }
}
3. 将Java对象写入JSON文件
import com.google.gson.Gson;
import java.io.FileWriter;
import java.io.IOException;

public class JsonExample {
    public static void main(String[] args) {
        Gson gson = new Gson();
        
        Student student = new Student();
        student.setName("John");
        student.setAge(25);
        
        try (FileWriter writer = new FileWriter("output.json")) {
            gson.toJson(student, writer);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

总结

  • JacksonGson 都是非常常见的JSON处理库,你可以根据项目需求选择适合的库。
  • JSON解析的核心步骤是:读取JSON文件,解析为Java对象或将Java对象写入JSON文件。

相关文章:

  • 【DeepSeek问答】访问QStandardItemModel::index(r,c)获取的空索引导致程序崩溃
  • 【奇点时刻】通义千问开源QwQ-32B技术洞察报告(扫盲帖)
  • 用Go的resty库批量下载公开网站视频
  • 基于Python实现的智能旅游推荐系统(Django)
  • 【C++教程】C++中的基本数据类型
  • Amlogic USB Burning Tool v2.2.5_晶晨线刷烧录工具v2.2.5_晶晨S905L3S-S905L3SB芯片_专用线刷烧录工具分享
  • 使用ASIWebPageRequest库编写Objective-C下载器程序
  • python学习笔记-day4(解决实际问题)
  • 我的技术十年
  • SHELL32!CDefView::_OnFSNotify函数是如何被调用的
  • MySQLvs Redis 事务:核心差异详解(简单易懂)
  • 49.日常算法
  • 深入解析MyBatis中一对一与一对多映射的实现方法与区别
  • Golang的代码注释规范指南
  • 计算机毕业设计SpringBoot+Vue.js众筹网站系统(源码+文档+PPT+讲解)
  • JavaScript实现著名的“两数之和”问题
  • C# Enumerable类 之 数据(类型)转换
  • Linux之kernel(1)系统基础理论(5)
  • 详细探索如何用脚本实现M小ySQL一键安装与配置,提升运维效率!
  • # 【Unity】【游戏开发】赛车游戏中碰撞加速的实现方法
  • 武汉网站开发/今日头条权重查询
  • 在服务器网站上做跳转/水果网络营销策划书
  • 当前网站开发什么语言/企业网站的功能
  • 建设销售型网站/百度直接打开
  • 多少钱做网站/怎么在百度上设置自己的门店
  • 零售户订烟电商网站/济宁百度推广公司有几家