[英]Removing element from json array
我有一个 Json 文件,我用它来存储数据,但如果不将“null”放在该元素所在的位置,我就无法从中删除某些内容。 我见过有人使用拼接,但它对我不起作用。 这就是我使用拼接时发生的情况
我使用的代码是删除 JsonObj.Times[index] 和 JsonObj.Times.splice(index, 1)
输入
{
"Times": [
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
},
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
}
]
}
它能做什么
[
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
}
]
我想要的是
{
"Times": [
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
}
]
}
当我使用 delete 时,它会执行我想要的操作,但会将 null 或 undefined 放入数组中。
如果你想使用splice()
,你可以这样做:
const obj = { "Times": [ { "TimeStamp": "1588516643", "PremiumTime": "1", "ID": "473873947895897", "GuildID": "27823978489723789" }, { "TimeStamp": "1588516643", "PremiumTime": "2", "ID": "473873947895897", "GuildID": "27823978489723789" } ] } const res = obj.Times.splice(0, 1); console.log(obj);
如果您知道索引值将在哪里结束,或者试图定位第一个/最后一个值,您还可以使用常见的数组操作方法.shift()
或.pop()
。
如果我理解正确,您想从 Times 的数组中删除一个确定元素。
假设您有一个包含 JSON 数据的变量。 这意味着您无法访问存储变量的数据,因为它是字符串类型。
const jsonData = "{
"Times": [
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
},
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
}
]
}"
来源: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
First of all, you have to parse JSON data using JSON.parse() that will convert the data to a JavaScript value or object described by the string. 这将允许您与这些数据进行交互。
let parsedData = JSON.parse(jsonData)
它将使用已解析的数据创建一个新变量,其中包含一个 object,其中包含一个对象数组。
parsedData = {
Times: [
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
},
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
}
]
}
其次,我们将从 Times 数组中按索引删除元素,这些元素在 object parsedData 中声明。
parsedData.Times.split(index,1)
其中: 第一个参数“index”:开始更改数组的索引。 第二个参数“1”:一个 integer 表示数组中要从开头删除的元素数。
来源: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
希望这可以帮到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.