我当前有一个对象:
var obj = {
username: "James",
surname: "Brandon",
id: "[2]"
}
,我想将其附加到“ users.json”:
[
{
"username": "Andy",
"surname": "Thompson",
"id": [0],
},
{
"username": "Moe",
"surname": "Brown",
"id": [1]
}
]
您知道我可能如何做到吗? 预先感谢。
答案 0 :(得分:1)
如果您的代码正在浏览器中运行,并且 users.json 是输出文件,我想您已经可以访问其内容。
另外,请注意对象中缺少的逗号。
var obj = {
username: "James",
surname: "Brandon",
id: "[2]"
};
var users = [
{
"username": "Andy",
"surname": "Thompson",
"id": [0]
},
{
"username": "Moe",
"surname": "Brown",
"id": [1]
}
];
users.push(obj);
console.log( JSON.stringify(users) );
现在您有了更新的对象数组,可以将其上载到服务器(选中this question)或向用户提供下载(选中this other question)。
您已经被告知,无法直接在服务器中更新客户端文件。也无法将其直接保存到客户端文件系统中。
答案 1 :(得分:1)
此答案是假设您在Node.js下工作。
据我了解您的问题,您需要解决一些不同的编程问题。
读取和写入.json文件
const fs = require("fs");
let usersjson = fs.readFileSync("users.json","utf-8");
将json字符串转换为javascript数组
let users = JSON.parse(usersjson);
将对象附加到数组
users.push(obj);
将数组转换回json字符串
usersjson = JSON.stringify(users);
保存json文件
fs.writeFileSync("users.json",usersjson,"utf-8");