Java获取json文件中的数据,对读取的数据进行修改,增加,在再出到json文件

一、需要json的jar包 org.json.jar;
下载地址:https://pan.baidu.com/s/1wTW4BFZgFI3hKlj0Vye_cQ
提取码:uanv
二、json文件
文件名:HK_geo.json
内容:(内容不要有空格!内容不要有空格!内容不要有空格!)
{“type”:“FeatureCollection”,“Array”:[{“type”:“Feature”,“properties1”:{“name”:“张三”,“age”:12,“address”:“北京”,“emal”:“1261726@qq.com”},“properties2”:{“sex”:“男”,“clazz”:“计算机工程学院”}}]}

三、代码如下:
package json;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONArray;
public class JsonConvert {
/**
* Java读取json中的数据
*/
public static void main(String[] args) {
try {
// 读取的json文件
BufferedReader br = new BufferedReader(new FileReader(“src/json/HK_geo.json”));
//要写出到json文件
BufferedWriter bw = new BufferedWriter(new FileWriter(“src/json/HK_new.json”));
String s = null;//存放读进来的数据
String ws = null;//存放要写出的数据
while ((s = br.readLine()) != null) {
//读进来的数据
System.out.println(s);
try {
// 创建一个包含原始json串的jsondate(Json数据)对象
JSONObject dataJson = new JSONObject(s);
// 找到json数据中的Array数组
JSONArray features = dataJson.getJSONArray(“Array”);
for (int i = 0; i < features.length(); i++) {
// 获取Array数组的第i个json对象
JSONObject info = features.getJSONObject(i);
System.out.println(info);
// 找到properties1的json对象
JSONObject properties1 = info.getJSONObject(“properties1”);
// 读取properties1对象里字段值
String name = properties1.getString(“name”);
System.out.println(name);
String age=properties1.getString(“age”);
System.out.println(age);
String emal=properties1.getString(“emal”);
System.out.println(emal);
// 找到properties2的json对象
JSONObject properties2 = info.getJSONObject(“properties2”);
// 读取properties2对象里字段值
String sex=properties2.getString(“sex”);
System.out.println(sex);
String clazz=properties2.getString(“clazz”);
System.out.println(clazz);
properties1.put(“school”, “上海交大”);//增加json数据字段
properties1.remove(“emal”);//删除json数据字段
System.out.println(properties1);
ws=dataJson.toString();
System.out.println(“写出的数据”+ws);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
bw.write(ws);//写出数据
bw.flush();
bw.close();
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

Java读取JSON文件数据通常可以使用第三方库,比如Gson、Jackson等。这里以使用Gson库为例,介绍如何读取JSON文件数据。 1. 导入Gson库 首先需要在项目导入Gson库。可以在pom.xml文件添加如下依赖: ```xml <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.7</version> </dependency> ``` 2. 读取JSON文件 假设有一个名为data.jsonJSON文件,内容如下: ```json { "name": "Alice", "age": 20, "gender": "female" } ``` 可以使用以下代码读取文件数据: ```java import com.google.gson.Gson; import java.io.FileReader; import java.io.IOException; public class ReadJsonFile { public static void main(String[] args) { Gson gson = new Gson(); try (FileReader reader = new FileReader("data.json")) { // 读取文件内容到一个字符串 StringBuilder builder = new StringBuilder(); int c = reader.read(); while (c != -1) { builder.append((char) c); c = reader.read(); } String json = builder.toString(); // 解析JSON字符串 Data data = gson.fromJson(json, Data.class); System.out.println(data); } catch (IOException e) { e.printStackTrace(); } } static class Data { String name; int age; String gender; @Override public String toString() { return "Data{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } } } ``` 在上面的代码,首先使用`FileReader`读取JSON文件的内容到一个字符串,然后通过`Gson`的`fromJson`方法将JSON字符串解析成Java对象。在本例,我们定义了一个`Data`类来表示JSON文件数据,然后通过`fromJson`方法将JSON字符串解析成`Data`对象。最后输出`Data`对象的内容。 以上就是使用Java读取JSON文件数据的简单示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值