删除带有拼接的 JSON 对象无处可去 - 那么我该如何删除一大块数据?
Removal of JSON Object with splice leads nowhere - How do i delete a chunk of data then?
首先,我想说 ** 我已经研究了一些与此相关的不同主题。** 如果不是 100 和几个 youtube 视频。
过去几个小时我一直卡在上面。
我有一个 .json 文件结构如下:
{
"PlayerData": [
{
"steamId": "76561193436459",
"playerName": "x",
"banReason": "x",
}
]
}
等等 - 你从数组中得到灵感。
我一直在摆弄不同种类的Javascript代码比如forEach() & (let i > 0 = bannedPlayerData.length i++) 类型的代码,以及尝试拼接方法来切割这个元素的一个对象。
我想要实现的是,根据您输入的 Steam ID - 它会删除该 Steam ID 周围的整个 block/object。
所以如果我在这种情况下为 steamid2
输入以下内容
765611934365823
它应该会删除整个位。:
{
"steamId": "765611934365823",
"playerName": "f",
"banReason": "f",
},
然而,在多次尝试使用 .splice(i, 1) 之后 - 我的 JSON 文件中没有任何变化。
我最近尝试的代码示例:
Test: async function (message, server, steamid2) {
try {
const data = fse.readJsonSync(serverSettings + "Bans.json")
for (var i = 0; i < data.bannedPlayerData.length; i++) {
//splice(i, 1)
}
} catch (error) {
console.error(error)
}
},
知道哪里出了问题吗?它进入 console.log 所在的位置 - 实际上它不会使用命令打印任何错误;我的 JSON 文件中没有简单的结构更改,没有发生任何更改。
我已经花了好几个小时寻找 npm 的替代方法来使用 splice,甚至是删除...但是这里我们讨论的是一个可能有数千个数据的文件(目前它是 3 个示例) ) - 我有点想避免删除 XXX 代码,因为听说删除后它会留下空格;这可能会导致损坏我的 JSON 文件。
我混合了 Lioness100 和 aRvi 的两个答案
正在做
data.bannedPlayerData.splice(data.bannedPlayerData.findIndex((u) => u.steamId === steamid2), 1)
Spliced/split 想要的数据。之后通过 fse.writeJsonSync
保存文件帮助我取得了预期的结果。
这两个答案都post编辑为对我的 post 的评论,而不是直接答案 - 因此我无法为它们都提供绿色复选标记。
首先,我想说 ** 我已经研究了一些与此相关的不同主题。** 如果不是 100 和几个 youtube 视频。
过去几个小时我一直卡在上面。
我有一个 .json 文件结构如下:
{
"PlayerData": [
{
"steamId": "76561193436459",
"playerName": "x",
"banReason": "x",
}
]
}
等等 - 你从数组中得到灵感。
我一直在摆弄不同种类的Javascript代码比如forEach() & (let i > 0 = bannedPlayerData.length i++) 类型的代码,以及尝试拼接方法来切割这个元素的一个对象。
我想要实现的是,根据您输入的 Steam ID - 它会删除该 Steam ID 周围的整个 block/object。
所以如果我在这种情况下为 steamid2
输入以下内容765611934365823
它应该会删除整个位。:
{
"steamId": "765611934365823",
"playerName": "f",
"banReason": "f",
},
然而,在多次尝试使用 .splice(i, 1) 之后 - 我的 JSON 文件中没有任何变化。 我最近尝试的代码示例:
Test: async function (message, server, steamid2) {
try {
const data = fse.readJsonSync(serverSettings + "Bans.json")
for (var i = 0; i < data.bannedPlayerData.length; i++) {
//splice(i, 1)
}
} catch (error) {
console.error(error)
}
},
知道哪里出了问题吗?它进入 console.log 所在的位置 - 实际上它不会使用命令打印任何错误;我的 JSON 文件中没有简单的结构更改,没有发生任何更改。
我已经花了好几个小时寻找 npm 的替代方法来使用 splice,甚至是删除...但是这里我们讨论的是一个可能有数千个数据的文件(目前它是 3 个示例) ) - 我有点想避免删除 XXX 代码,因为听说删除后它会留下空格;这可能会导致损坏我的 JSON 文件。
我混合了 Lioness100 和 aRvi 的两个答案
正在做
data.bannedPlayerData.splice(data.bannedPlayerData.findIndex((u) => u.steamId === steamid2), 1)
Spliced/split 想要的数据。之后通过 fse.writeJsonSync
保存文件帮助我取得了预期的结果。
这两个答案都post编辑为对我的 post 的评论,而不是直接答案 - 因此我无法为它们都提供绿色复选标记。