如何从JSON对象中删除索引

如何从JSON对象中删除索引

什么是JSON?

JSON代表JavaScript对象表示法。它是一种用于结构化数据的格式。当数据从服务器发送到网页时使用此格式。 JSON是“自描述”的,易于理解。它取代了XML数据交换格式。与XML相比,它易于构造数据。它支持像数组和对象这样的数据结构以及在服务器上快速执行的JSON文档。

JSON语法规则 –

  • 数据应以键:值对形式出现
  • 数据之间用逗号(’,’)分隔
  • 花括号({})用于表示对象
  • 方括号([])用于表示数组

它用于什么?

与XML一样,它是一种格式化数据的方式之一。当数据从服务器发送到网页时使用此格式。

预先要求 –

语法 –

var json_object = [{
    "property_1" : "property_value_1",
    "property_2" : "property_value_2"
},
{
    "property_1" : "property_value_1",
    "property_2" : "property_value_2",
    "property_3" : "property_value_3"
}]

现在,为了从此JSON对象中删除任何索引,我们将学习下面解释的不同方法 –

  • 使用splice方法。
  • 使用delete属性。
  • 使用null。

使用 splice()方法 此方法用于通过删除现有元素和/或添加新元素来修改内容。

在这里,我们只关注如何使用splice来删除元素。

语法:

Object.splice(index, remove_count )

示例1: 在此示例中,我们将删除对象的第一个索引处的元素。

var Data_Structures = [
    {
        "Name": "Trees",
        "Course": "Introduction of Trees",
        "Content": ["Binary Tree", "BST",
            "Generic Tree"]
    },
    {
        "Name": "Graphs",
        "Topics": ["BFS", "DFS", "Topological Sort"]
    }
]

console.log("Object Before deleting : ");
console.log(Data_Structures);
console.log("Using splice  for Deleting object at index 0");
Data_Structures.splice(0, 1);
console.log("Object Post  Deleting : ");
console.log(Data_Structures);

如何运行此代码?

  • 打开命令提示符。
  • 使用cd命令进入保存JSON文件的目录。
  • 现在只需键入以下命令:
node file_name

输出:

Object Before deleting : 
[
  {
    Name: 'Trees',
    Course: 'Introduction of Trees',
    Content: [ 'Binary Tree', 'BST', 'Generic Tree' ]
  },
  { Name: 'Graphs', Topics: [ 'BFS', 'DFS', 'Topological Sort' ] }
]
Using splice  for Deleting object at index 0
Object Post  Deleting : 
[ { Name: 'Graphs', Topics: [ 'BFS', 'DFS', 'Topological Sort' ] } ]

使用 delete property **:

此关键字用于删除属性及其关联值。删除后,无法恢复已删除的属性。

语法:

delete object.property or
delete object['property'] or
delete object[index]

返回值: 对于所有情况都返回true,当属性是自身不可配置的属性时返回false。

示例2: 我们将使用 delete 关键字来删除对象及其属性。

首先,我们将删除索引为0的对象,然后删除索引为1的对象的属性。

var students = [
    {
        "学生": "Akshit",
        "地址": "莫拉达巴德",
        "电话": "98760"
    },
    {
        "学生": "Nikita",
        "地址": "勒克瑙",
        "电话": "98754"
    },
    {
        "学生": "Somya",
        "地址": "德里",
        "电话": "67878"
    },
    {
        "学生": "Eshika",
        "地址": "班加罗尔",
        "电话": "67676"
    },
    {
        "学生": "Parul",
        "地址": "金奈",
        "电话": "77668"
    }
]
console.log("删除前的对象:");
console.log(students);
console.log("使用删除关键字删除索引0处的对象");
delete students[0];
console.log("删除后的对象:");
console.log(students);
console.log("使用删除关键字删除索引1处的对象属性");
delete students[1].phone;
console.log("删除后的对象:");
console.log(students);

输出:

删除前的对象: 
[
  { 学生: 'Akshit', 地址: '莫拉达巴德', 电话: '98760' },
  { 学生: 'Nikita', 地址: '勒克瑙', 电话: '98754' },
  { 学生: 'Somya', 地址: '德里', 电话: '67878' },
  { 学生: 'Eshika', 地址: '班加罗尔', 电话: '67676' },
  { 学生: 'Parul', 地址: '金奈', 电话: '77668' }
]
使用删除关键字删除索引0处的对象
删除后的对象: 
[
  <1个空项目>,
  { 学生: 'Nikita', 地址: '勒克瑙', 电话: '98754' },
  { 学生: 'Somya', 地址: '德里', 电话: '67878' },
  { 学生: 'Eshika', 地址: '班加罗尔', 电话: '67676' },
  { 学生: 'Parul', 地址: '金奈', 电话: '77668' }
]
使用删除关键字删除索引1处的对象属性
删除后的对象: 
[
  <1个空项目>,
  { 学生: 'Nikita', 地址: '勒克瑙' },
  { 学生: 'Somya', 地址: '德里', 电话: '67878' },
  { 学生: 'Eshika', 地址: '班加罗尔', 电话: '67676' },
  { 学生: 'Parul', 地址: '金奈', 电话: '77668' }
]

使用null: 当我们将任何对象的值设置为null时,节点的垃圾回收器将自动删除属性值。然而,属性的名称将保留。

语法:

对象.属性 = null

示例3: 在这个示例中,我们将使用null来删除对象的属性。

var Data_Structures = [
    {
        "名称": "树",
        "课程": "树的介绍",
        "内容": ["二叉树", "二叉搜索树",
            "通用树"]
    },
    {
        "名称": "图",
        "主题": ["广度优先搜索", "深度优先搜索", "拓扑排序"]
    }
]
 
console.log("删除前的对象:");
console.log(Data_Structures);
console.log("使用null删除索引0处的对象");
Data_Structures[0].内容 = null;
console.log("删除后的对象:");
console.log(Data_Structures);

输出:

删除前的对象: 
[
  {
    名称: '树',
    课程: '树的介绍',
    内容: [ '二叉树', '二叉搜索树', '通用树' ]
  },
  { 名称: '图', 主题: [ '广度优先搜索', '深度优先搜索', '拓扑排序' ] }
]
使用null删除索引0处的对象
删除后的对象: 
[
  { 名称: '树', 课程: '树的介绍', 内容: null },
  { 名称: '图', 主题: [ '广度优先搜索', '深度优先搜索', '拓扑排序' ] }
]

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程