一:JSON是什么

JSONg格式:对象是一个无序的“名称/值”对的集合。

对象以括号开始,括号结束。

名称冒号分隔值。

"名称/值"之间用逗号分隔

例:

var people = {
    "programmers": [{
        "firstName": "Brett",
        "lastName": "McLaughlin",
        "email": "aaaa"
    }, {
        "firstName": "Jason",
        "lastName": "Hunter",
        "email": "bbbb"
    }, {
        "firstName": "Elliotte",
        "lastName": "Harold",
        "email": "cccc"
    }]
}
访问数据:people.programmers[0].lastName;
修改数据:people.programmers[0].lastName=“423nfns”
-----------------------------------------

二:JSON的方法

JSON.parse()和JSON.stringify()方法区别

parse用于把字符串解析成JSON格式的对象。

stringify用于将JSON格式的对象转换成JSON格式的字符串。

例var student = new Object();

student.name = "Lanny";
student.age = "25";
student.location = "China";
var json = JSON.stringify(student);
alert(json);
//alert(student);
结果为:{"name":"Lanny","age":"25","location":"Chia"} alert(student)
结果为:[object Object]
------------------------------------------------------------------------------------------------------------------------------------------------
三:JSON格式的应用删除数据:
转载:http://xulavigne.blog.163.com/blog/static/196705036201211220250176/
 
删除JSON元素,首先要弄清JSON的数据格式,javascript中的JSON,JSON是由对象和数组结构组成,只要学会JavaScript中对象和数组删除的方法即可对JSON数据进行删除操作。
JavaScript删除数组的3种方法
(1)shift()方法
shift是删除数组中第一项的值,并且返回删除元素的值;如果数组为空则返回undefined。
var array=[1,9,6,3,8,5];
var m=array.shift()-->1
console.log(array)-->9,6,3,8,5
 
2、pop()方法
pop方法是用来删除数组中最后一项,并且返回删除的值,如果数组为空则返回undefined。
var array=[1,9,6,3,8,5];
var m=array.pop()-->5
console.log(array)-->1,9,6,3,8
3、splice()方法
可以对数组进行增加、删除、替换
var array=[1,9,6,3,8,5];
var m=array.splice(2,1,3,4)-->6
console.log(array)-->1, 9, 3, 4, 3, 8, 5
注意:被替换的项数不一定要和替换的项数相等,1项可以被换成3项,5项也可以被换成3项,可以用这个方法来对数组进行添加和删除操作。
 
删除:
var array=[1,2,3,4,5];
array.splice(2,0,8,9);--->[]
console.log(array)-->[1, 2, 8, 9, 3, 4, 5]
 
其他不靠谱的数组删除方法
之所以说方法不靠谱,因为并没有真正的删除数组项,而是把它的位置设置空了,本项位置还在,数组项数没变。
不靠谱的数组删除方法1:
var array=[1,2,3,4,5];
array[4]=null;
console.log(array)-->[1, 2, 3, 4, null]
不靠谱的数组删除方法2:
var array=[1,2,3,4,5];
delete array[4];
array-->[1, 2, 3, 4, undefined]
array.length--->5
 
javaScript删除对象的方法
js中删除对象delete操作符
var p={
"name":"kcscs",
"age":29,
"sex":"女"
};
 
delete p.name
for(var i in p){
console.log(i);}//输出age,sex,name项已经被删除了
 
下面JavaScript删除JSON元素
了解JS删除对象和数组的方法后,对JSON数据进行操作
var computer={//这个JSON数据有数组和对象结构组成
"cpu":["intel","AMD"],
"harddisk":["Western Digital","Seagete"],
"motherboard":["ASUS","MSI"]
};
 
如果我们要删除CPU里面的inter这一个元素,因为这是数组里面的一项,所以我们用数组中的方法
computer.cpu.splice(0,1);
console.log(computer.cpu)-->["AMD"],inter被删除了
如果我们想要删除harddisk这一项,因为他是对象中的一项,所以我们要用对象的删除方法进行操作
delete computer.harddisk
for(var i in computer){
console.log(i);}--输出cpu motherboard,harddisk被删除
 
总结:JSON的主要数据结构是对象和数组,我们只要对相应的操作方法,就可以有效的删除JSON中的元素
 
转载自前端开发

JSON相关知识,转载:删除JSON中数组删除操作的更多相关文章

  1. json相关知识

    整理json相关知识: 1.for in 循环获取json中的键(key)与值(value) <!DOCTYPE html> <html lang="en"> ...

  2. json 相关知识

    一:json标准格式: 标准JSON的合法符号:{(左大括号)  }(右大括号)  "(双引号)  :(冒号)  ,(逗号)  [(左中括号)  ](右中括号) JSON字符串:特殊字符可在 ...

  3. 【转载】 C#中数组、ArrayList和List三者的区别

    原文地址:http://blog.csdn.net/zhang_xinxiu/article/details/8657431 在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到 ...

  4. 【转载】Java中使用Jedis操作Redis

    1 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Li ...

  5. JSON相关知识整理

    JSON   全称:JavaScript Object Notation ,一种轻量级的数据交换格式 示例:{"name":"eric","age&q ...

  6. json相关,浏览器打开json格式的api接口时,进行格式化,chrome插件

    在chrome浏览器中安装Google jsonview插件能够自动格式化json格式的数据.

  7. vue中数组删除,页面没重新渲染

    创建一个组件时,数据类型是数组,在删除这个数组中的数据时,数组中的数据是对的,但页面渲染的数据却不对. 举例:(不一定复现) <ul> <li v-for="(item, ...

  8. 【转载】ruby 中数组函数示例(1)(转)

    函数名称 说明 示例 &      数组与,返回两数组的交集 [1,2] & [2,3] =>[2]   * 复制数组n次 [1,2]*2       => [1,2,1, ...

  9. js中数组删除 splice和delete的区别,以及delete的使用

    var test=[];test[1]={name:'1',age:1};test[2]={name:'2',age:2};test[4]={name:'3',age:3}; console.log( ...

随机推荐

  1. Gridview中运用CommandField 删除控件时注意点

    我在gridview1 <编辑列>里面添加了一个<CommandField 删除>的控件,之后在gridview1的事件<RowDeleting>事件下 写了一段删 ...

  2. 把两个table放在一个Repeater中显示

    DataTable dt; DataTable dt1; HLoanApplyInfo applyInfo = HLoanApplyBll.GetModelById(FLoanID); FLoanID ...

  3. android 移动网络实时抓包

    2G.3G环境,那就必须root进去tcpdump 方式抓. 准备: 一.root CF-auto-root: http://autoroot.chainfire.eu/ 需要清理全部数据,注意备份 ...

  4. php关于ob_start('ob_gzhandler')启用GZIP压缩的bug

    如果使用ob_start("ob_gzhandler"); 则ob_clean()后面的输出将不显示,这是个bug,可以用ob_end_clean();ob_start(" ...

  5. Winform自定义控件基础(一)

    1.设置图像和文字以抗锯齿的方式呈现 g.SmoothingMode = SmoothingMode.AntiAlias; g.TextRenderingHint = TextRenderingHin ...

  6. Android安全攻防战,反编译与混淆技术完全解析(上)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ...

  7. 在js中添加新节点

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  8. Tensorflow- tensor的列操作

    几个point [:,i]类似python直接的index 列操作是可行的, 注意i不能是variable,如果是使用slice slice操作会保持和输入tensor一样的shape 返回 而1对应 ...

  9. Oracle REGEXP_SUBSTR()

    REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)       _ ...

  10. CSS实现元素水平垂直居中—喜欢对称美,这病没得治

    [TOC] 在CSS中对元素进行水平居中是非常简单的:如果它是一个行内元素,就对它的父元素应用text-align:center;如果它是一个块级元素,就对它自身应用margin:auto.然而要对一 ...