Java批量读取json_如何使用Java读取JSON文件的内容?

JSON或JavaScript Object Notation是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。JSON使用的约定是程序员已知的,包括C,C ++,Java,Python,Perl等。JSON文档样本-{

"book": [

{

"id": "01",

"language": "Java",

"edition": "third",

"author": "Herbert Schildt"

},

{

"id": "07",

"language": "C++",

"edition": "second",

"author": "E.Balagurusamy"

}

]

}

Json-简单库

json-simple是一个轻量级的库,用于处理JSON对象。使用此程序,您可以使用Java程序读取或写入JSON文档的内容。

JSON-简单的Maven依赖

以下是JSON简单库的maven依赖关系-

com.googlecode.json-simple

json-simple

1.1.1

 301 to 305

将其粘贴在pom.xml文件末尾的 dependencies>标记中。(在 project>标记之前)

示例

首先,让我们创建一个名称为sample.json的JSON文档,其中包含6个键值对,如下所示-{

"ID": "1",

"First_Name": "Shikhar",

"Last_Name": "Dhawan",

"Date_Of_Birth": "1981-12-05",

"Place_Of_Birth":"Delhi",

"Country": "India"

}

使用Java程序读取JSON文件的内容-实例化json-简单库的JSONParser类。JSONParser jsonParser = new JSONParser();使用parse()方法解析获得的对象的内容。//解析JSON文件的内容

JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("E:/players_data.json"));使用get()方法检索与键关联的值。String value = (String) jsonObject.get("key_name");

以下Java程序解析上面创建的sample.json文件,读取其内容并显示它们。

示例import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import org.json.simple.JSONObject;

import org.json.simple.parser.JSONParser;

import org.json.simple.parser.ParseException;

public class ReadingJSON {

public static void main(String args[]) {

//创建一个JSONParser对象

JSONParser jsonParser = new JSONParser();

try {

//解析JSON文件的内容

JSONObject jsonObject = (JSONObject) jsonParser.parse(new FileReader("E:/sample.json"));

String id = (String) jsonObject.get("ID");

String first_name = (String) jsonObject.get("First_Name");

String last_name = (String) jsonObject.get("Last_Name");

String date_of_birth = (String) jsonObject.get("Date_Of_Birth");

String place_of_birth = (String) jsonObject.get("Place_Of_Birth");

String country = (String) jsonObject.get("Country");

//形成网址

System.out.println("Contents of the JSON are: ");

System.out.println("ID :"+id);

System.out.println("First name: "+first_name);

System.out.println("Last name: "+last_name);

System.out.println("Date of birth: "+date_of_birth);

System.out.println("Place of birth: "+place_of_birth);

System.out.println("Country: "+country);

System.out.println(" ");

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (ParseException e) {

e.printStackTrace();

}

}

}

输出结果Contents of the JSON are:

ID :1

First name: Shikhar

Last name: Dhawan

Date of birth :1981-12-05

Place of birth: Delhi

Country: India

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用许多库来解析JSON文件,其中最常用的是Jackson和Gson。以下是使用Gson库读取和处理JSON文件的简单示例: 1. 导入Gson库 ```java import com.google.gson.*; ``` 2. 读取JSON文件 ```java // 从文件读取JSON数据 JsonElement jsonElement = JsonParser.parseReader(new FileReader("data.json")); ``` 3. 处理JSON数据 ```java // 将JSON数据转换为JsonObject JsonObject jsonObject = jsonElement.getAsJsonObject(); // 从JsonObject中获取属性值 String name = jsonObject.get("name").getAsString(); int age = jsonObject.get("age").getAsInt(); // 获取嵌套的JsonObject JsonObject addressObject = jsonObject.getAsJsonObject("address"); String city = addressObject.get("city").getAsString(); String state = addressObject.get("state").getAsString(); // 获取JsonArray JsonArray hobbiesArray = jsonObject.getAsJsonArray("hobbies"); List<String> hobbies = new ArrayList<>(); for (JsonElement hobbyElement : hobbiesArray) { hobbies.add(hobbyElement.getAsString()); } ``` 完整示例代码: ```java import com.google.gson.*; import java.io.FileReader; import java.util.ArrayList; import java.util.List; public class JsonExample { public static void main(String[] args) throws Exception { // 从文件读取JSON数据 JsonElement jsonElement = JsonParser.parseReader(new FileReader("data.json")); // 将JSON数据转换为JsonObject JsonObject jsonObject = jsonElement.getAsJsonObject(); // 从JsonObject中获取属性值 String name = jsonObject.get("name").getAsString(); int age = jsonObject.get("age").getAsInt(); // 获取嵌套的JsonObject JsonObject addressObject = jsonObject.getAsJsonObject("address"); String city = addressObject.get("city").getAsString(); String state = addressObject.get("state").getAsString(); // 获取JsonArray JsonArray hobbiesArray = jsonObject.getAsJsonArray("hobbies"); List<String> hobbies = new ArrayList<>(); for (JsonElement hobbyElement : hobbiesArray) { hobbies.add(hobbyElement.getAsString()); } // 输出结果 System.out.println("Name: " + name); System.out.println("Age: " + age); System.out.println("City: " + city); System.out.println("State: " + state); System.out.println("Hobbies: " + hobbies); } } ``` 其中,假设JSON文件中的内容如下: ```json { "name": "Alice", "age": 25, "address": { "city": "New York", "state": "NY" }, "hobbies": [ "reading", "painting", "hiking" ] } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值