📜  JSON.simple-容器工厂(1)

📅  最后修改于: 2023-12-03 14:43:34.852000             🧑  作者: Mango

JSON.simple-容器工厂

JSON.simple-容器工厂 是一个简洁易用的 Java 库,用于解析和生成 JSON 数据。本文将介绍该库的主要特点和使用方法,帮助程序员更快地上手。

主要特点
  • 简洁易用:JSON.simple-容器工厂使用简洁明了的 API,使得解析和生成 JSON 数据都变得更加容易。

  • 高效快速:JSON.simple-容器工厂自带的解析器和生成器,能够快速地处理大量的 JSON 数据。

  • 支持电子表格格式:JSON.simple-容器工厂支持将数据保存为 CSV 文件或者从 CSV 文件中读取数据。

  • 支持多种数据结构:JSON.simple-容器工厂支持多种数据结构,包括数组、对象、字符串、数字等等。

快速上手
安装

要使用 JSON.simple-容器工厂,首先需要将其添加到项目中。可以使用 Maven 或手动添加 JAR 包的方式:

使用 Maven:

<dependency>
    <groupId>com.googlecode.json-simple</groupId>
    <artifactId>json-simple</artifactId>
    <version>1.1.1</version>
</dependency>

手动添加 JAR 包:

官网 下载最新版本的 json-simple.jar。

将下载的 jar 包添加到项目库中。

解析 JSON

在 JSON.simple-容器工厂中,使用 JSONParser 类来解析 JSON。

以下是一个示例,展示如何解析 JSON 字符串和打印解析结果:

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class JsonParserExample {

    public static void main(String[] args) {

        String jsonString = "{\"name\":\"张三\",\"age\":18}";

        JSONParser parser = new JSONParser();

        try {
            Object obj = parser.parse(jsonString);
            JSONObject json = (JSONObject) obj;

            String name = (String) json.get("name");
            Long age = (Long) json.get("age");

            System.out.println("姓名:" + name);
            System.out.println("年龄:" + age);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

姓名:张三
年龄:18
生成 JSON

在 JSON.simple-容器工厂中,使用 JSONObject 类来生成 JSON。

以下是一个示例,展示如何生成包含数组和对象的 JSON 字符串:

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class JsonGeneratorExample {

    public static void main(String[] args) {

        JSONObject json = new JSONObject();

        json.put("name", "张三");
        json.put("age", 18);

        JSONArray interestArray = new JSONArray();
        interestArray.add("读书");
        interestArray.add("运动");
        interestArray.add("旅游");

        JSONObject contact = new JSONObject();
        contact.put("email", "zhangsan@example.com");
        contact.put("phone", "+86 18888888888");

        json.put("interests", interestArray);
        json.put("contact", contact);

        String jsonString = json.toJSONString();

        System.out.println(jsonString);
    }
}

输出结果:

{"interests":["读书","运动","旅游"],"contact":{"phone":"+86 18888888888","email":"zhangsan@example.com"},"name":"张三","age":18}
保存为 CSV

在 JSON.simple-容器工厂中,使用 CSVUtils 类来将数据保存为 CSV 文件。

以下是一个示例,展示如何保存简单的数组为 CSV 文件:

import java.util.ArrayList;
import java.util.List;

public class CsvUtilsExample {

    public static void main(String[] args) {

        List<String> header = new ArrayList<>();
        header.add("姓名");
        header.add("年龄");
        header.add("性别");

        List<List<String>> data = new ArrayList<>();
        List<String> row1 = new ArrayList<>();
        row1.add("张三");
        row1.add("18");
        row1.add("男");
        data.add(row1);

        List<String> row2 = new ArrayList<>();
        row2.add("李四");
        row2.add("20");
        row2.add("女");
        data.add(row2);

        CSVUtils utils = new CSVUtils();
        utils.write("data.csv", header, data);
    }
}

保存后的 data.csv 文件内容:

姓名,年龄,性别
张三,18,男
李四,20,女
从 CSV 中读取数据

在 JSON.simple-容器工厂中,使用 CSVUtils 类来从 CSV 文件中读取数据。

以下是一个示例,展示如何从 CSV 文件中读取数据:

import java.util.List;

public class CsvUtilsExample {

    public static void main(String[] args) {

        CSVUtils utils = new CSVUtils();

        List<List<String>> data = utils.read("data.csv");

        for (List<String> row : data) {
            System.out.println(row.get(0) + "," + row.get(1) + "," + row.get(2));
        }
    }
}

输出结果:

姓名,年龄,性别
张三,18,男
李四,20,女
总结

JSON.simple-容器工厂提供了一套简单易用的 API,用于解析和生成 JSON 数据,并且支持将数据保存为 CSV 文件或从 CSV 文件中读取数据。如果你正在开发一个 Java 项目,并且需要处理 JSON 数据,那么 JSON.simple-容器工厂无疑是一个不错的选择。