一、JSON簡介
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於讀寫和解析,在Web應用中廣泛應用。
JSON由鍵值對組成,以花括號 {} 包含對象,以方括號 [] 包含數組,鍵名和字符串都必須使用雙引號 ” 包含。
二、使用Java讀取JSON文件
Java中提供了多種方式讀取JSON文件,本文介紹其中一種常用的方法——使用Jackson庫。
三、Jackson庫介紹
Jackson 是 JSON 數據處理工具之一,提供了一系列 JSON 轉換操作的 API,比如對象映射、JSON 樹模型的解析、基於流的解析/生成數據等。
Jackson 庫的主要功能是將 Java 對象轉換成 JSON 數據和將 JSON 數據轉換成 Java 對象。
使用 Jackson 庫前需要在項目中引入 Jackson 的 jar 包,可以通過 Maven 等依賴管理工具引入。
四、讀取JSON文件
在使用Jackson庫讀取JSON文件前,需要先創建JSON文件,並將其放置在項目的指定目錄下。
示例JSON文件內容:
{
"name": "小明",
"age": 20,
"gender": "男",
"hobby": ["籃球", "足球", "游泳"],
"address": {
"province": "北京",
"city": "朝陽區",
"street": "建國路"
}
}
使用Jackson庫讀取JSON文件代碼示例:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
public class ReadJsonFile {
public static void main(String[] args) {
File file = new File("src/main/resources/test.json");
ObjectMapper objectMapper = new ObjectMapper();
try {
// 讀取JSON文件,返回JsonNode對象
JsonNode rootNode = objectMapper.readTree(file);
// 獲取JSON中的元素,輸出結果
String name = rootNode.path("name").asText();
int age = rootNode.path("age").intValue();
String gender = rootNode.path("gender").asText();
String hobby1 = rootNode.path("hobby").path(0).asText();
String province = rootNode.path("address").path("province").asText();
System.out.println("姓名:" + name);
System.out.println("年齡:" + age);
System.out.println("性別:" + gender);
System.out.println("愛好1:" + hobby1);
System.out.println("省份:" + province);
} catch (Exception e) {
e.printStackTrace();
}
}
}
代碼說明:
首先通過File類讀取JSON文件,然後使用ObjectMapper類進行解析,返回一個JsonNode對象。
JsonNode 對象包含了 JSON 文件中所有的元素,可以使用 path() 方法獲取指定元素,可以調用 asText()、intValue() 等方法進行類型轉換。
五、總結
本文介紹了在Java中使用Jackson庫讀取並解析JSON文件的方法,Jackson庫提供了豐富的API,可以方便地進行JSON數據的讀取和解析操作,是開發JSON數據處理功能時常見的工具庫之一。
原創文章,作者:VMEP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/136118.html
微信掃一掃
支付寶掃一掃