我有一个Json文件,我用它来存储数据,但我不能从它中删除一些东西,否则它就会在该元素的地方放 "null"。我看到有人使用split,但对我来说并不奏效。当我使用拼接时,会发生以下情况
我使用的代码是删除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或未定义。
如果你想使用 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.orgen-USdocsWebJavaScriptReferenceGlobal_ObjectsJSONparse。
首先,你必须使用JSON.parse()来解析JSON数据,它将把数据转换为一个由字符串描述的JavaScript值或对象。这将允许你与这些数据进行交互。
let parsedData = JSON.parse(jsonData)
它将用解析后的数据创建一个新的变量,它包含一个对象,里面有一个对象数组。
parsedData = {
Times: [
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
},
{
"TimeStamp": "1588516643",
"PremiumTime": "1",
"ID": "473873947895897",
"GuildID": "27823978489723789"
}
]
}
其次,我们将从Times的数组中按索引删除在我们的对象parsedData里面声明的元素。
parsedData.Times.split(index,1)
其中:第一个参数 "index"。开始改变数组的索引.第二个参数 "1": 一个整数,表示要从数组中删除的元素数量。
资料来源:/developer.com https:/developer.mozilla.orgen-USdocsWebJavaScriptReferenceGlobal_ObjectsArraysplice。
希望能帮到你!