51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Java如何读取JSON文件

Java读取JSON文件主要是利用JSON解析库来完成,常用的库有JSON-lib,Gson,Jackson等。这些库提供了一种容易的方式来编码和解码JSON文本,允许将JSON文本转换为Java对象,也可以将Java对象转换成JSON文本。

一、使用JSON-lib读取JSON文件 {#title-1}

JSON-lib库是一个给Java对象提供json编解码的API,它也可以将Java Collections转换成json对象,或者转换XML的文档数据。

import net.sf.json.JSONObject;
import java.io.BufferedReader;
import java.io.FileReader;

public class ReadJsonSample {
    public static void main(String[] args) {
        StringBuilder jsonStr = new StringBuilder();
        try {
            BufferedReader in = new BufferedReader(new FileReader("file.json"));
            String str;
            while ((str = in.readLine()) != null) {
                jsonStr.append(str);
            }
            in.close();
        } catch (IOException e) {
            e.getStackTrace();
        }
        System.out.println("The JSON File content is:\n" + jsonStr.toString());
        JSONObject jsonObject = JSONObject.fromObject(jsonStr.toString());
        System.out.println("The JSON Object is:\n" + jsonObject);
    }
}

二、使用Gson库读取JSON文件 {#title-2}

Google的Gson库也是一个强大的json处理库,通过Gson,我们可以将json字符串转换为强类型的Java对象,也可以将Java对象转换为json字符串。

import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class ReadJsonSample {
    public static void main(String[] args) {
        Gson gson = new Gson();
        try {
            Reader reader = new FileReader("file.json");
            JsonReader jsonReader = new JsonReader(reader);
            SampleObject object = gson.fromJson(jsonReader, SampleObject.class);
            System.out.println(object);
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

三、使用Jackson库读取JSON文件 {#title-3}

Jackson是一种能将Java对象转换为Json对象,同时也能将Json对象转换为Java对象的库。

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;

public class ReadJsonSample {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            User user = mapper.readValue(new File("file.json"), User.class);
            System.out.println(user.getName());
            System.out.println(user.getAge());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
赞(8)
未经允许不得转载:工具盒子 » Java如何读取JSON文件