java - 如何将 JSON 对象写入 JAVA 中 JSON 文件中的特定位置
问题描述
我有以下 JSON 文件。我想将新的 JSON 对象写入“用户”数组
{
"photos": [
{
"id": 1,
"name": "name1"
},
{
"id": 2,
"name": "name2"
},
{
"id": 3,
"name": "name3"
},
{
"id": 4,
"name": "name4"
},
{
"id": 5,
"name": "name5"
}
],
"users": [
{
"id": 1,
"username": "username1",
"geo": "Ukraine"
},
{
"id": 2,
"username": "username2",
"geo": "Russia"
},
{
"id": 3,
"username": "username3",
"geo": "Bulgaria"
},
{
"id": 4,
"username": "username4",
"geo": "Ukraine"
},
{
"id": 5,
"username": "username5",
"geo": "Poland"
}
],
"todos": []
}
所以我尝试了这个。是的,我使用 JSON.simple 库来解析 JSON 和 JSON 库来获取元素:
import Entities.User;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.*;
public class Controller {
static JSONArray users = new JSONArray();
static String path = "C:\\Users\\rmoroz\\IdeaProjects\\Rest\\rmoroz-aut17" +
"\\src\\main\\resources\\Server\\json-server-auth-master\\json-server-auth-master\\db.json";
public static void main(String[] args) {
createUser();
}
public static void createUser() {
User user1 = new User(23, "username23", "Ukraine");
JSONParser jsonParser = new JSONParser();
Object obj = new Object();
try {
obj = jsonParser.parse(new FileReader(path));
} catch (IOException | ParseException e) {
e.printStackTrace();
}
org.json.simple.JSONObject jsonObject = (org.json.simple.JSONObject) obj;
String JSON = jsonObject.toString();
JSONObject jsonObjectBig = new JSONObject(JSON);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("id", user1.getId());
jsonObject1.put("username", user1.getUsername());
jsonObject1.put("geo", user1.getGeo());
try {
PrintWriter out = new PrintWriter(new FileWriter(path, true));
out.append();
out.close();
} catch (IOException e) {
}
}
}
我不知道应该在 append() 方法中输入什么才能将 jsonObject1 写入 JSON 文件中的“用户”数组
解决方案
推荐阅读
- android - 带有editText的自定义单选按钮
- c++ - 共享指针控制块的线程安全
- c# - 如何从虚拟目录中获取文件并在视图中显示 Asp.net core
- mysql - 是否可以在 MySQL 中将表的列声明为不是''?
- java - 来自服务器的 littleproxy 空回复
- reporting-services - 设置组 Map 以仅列出具有实际数据的项目
- c - 为什么不能并行化以下循环?
- reactjs - 在 React 中更改输入的占位符
- javascript - 使用 javascript 客户端 sdk 和 Angular 启动对话客户端、加入对话以及订阅 twilio 上的对话更改
- excel - 将文本值映射到数字