📅  最后修改于: 2023-12-03 14:43:35.027000             🧑  作者: Mango
在 Javascript 中,我们可以使用 jsonb_set()
函数来删除 JSON 对象中的一个或多个键。jsonb_set()
函数是 PostgreSQL 中的一个函数,它允许您更新或删除 JSONB 列类型中的一个或多个键。
要删除 JSON 对象中的一个键,请在 jsonb_set()
函数中使用特定语法,指定需要删除的键路径和新值为 null
。以下是一个简单的示例代码:
let json = {
"name": "John Doe",
"age": 35,
"location": {
"city": "New York",
"state": "NY",
"country": "USA"
},
"hobbies": ["reading", "writing", "traveling"]
};
// 删除 "location" 键
json = jsonb_set(json, '{location}', null);
console.log(json); // 输出 "{"name": "John Doe","age": 35,"hobbies": ["reading", "writing", "traveling"]}"
在上面的代码中,我们使用 jsonb_set()
函数删除 JSON 对象的 location
键。在 jsonb_set()
函数中,我们使用源 JSON 对象、要删除的键的路径和新值 null
。返回的 JSON 对象将不再包含 location
属性。
要一次删除多个键,请使用与删除单个键类似的方法。只需在 jsonb_set()
函数中指定多个具有相应键路径和新值 null
的对应项目即可。以下是一个示例:
let json = {
"name": "John Doe",
"age": 35,
"location": {
"city": "New York",
"state": "NY",
"country": "USA"
},
"hobbies": ["reading", "writing", "traveling"]
};
// 删除 "location" 和 "hobbies" 键
json = jsonb_set(json, '{location, hobbies}', null);
console.log(json); // 输出 "{"name": "John Doe","age": 35}"
在上面的代码中,我们使用 jsonb_set()
函数同时删除 location
和 hobbies
键。在函数中,我们指定了一个对象,其中键被指定为要删除的路径,并且新值为 null
。返回的 JSON 对象将不再包含这些键的值。
综上所述,使用 jsonb_set()
函数可以方便地删除 JSON 对象中的一个或多个键。我们可以使用简单的语法在函数中指定要删除的路径和新值 null
。