操作Json和Json数组的一些基本方法

一、定义一个json对象

1、直接定义

1)、属性值为常量:

var jsonObj={userId:‘001‘}; //字段可以不用也可用引号引起来,但字符串值必须用引号(单引号和双引号都行)

2)、属性值为Json对象:

var jsonObj={id:{userId:‘001‘,sex:‘男‘},id1:{userId:‘002‘,sex:‘女‘}};

2、由字符串转换

var jsonStr="{\"userId\":\"001\"}";//字段和字符串值必须用双引号引起,单引号都不行

var jsonObj=JSON.parse(jsonStr);//字符串转json对象

3、由字符串转换

jsonObj.name=‘李明‘;

或者:jsonObj[‘name‘]=‘李明‘;

结果:{serId:"001",name:‘李明‘}

4、循环访问json对象属性

var jsonObj={id:{userId:‘001‘,sex:‘男‘},id1:‘002‘};

for(var field in jsonObj)

{

alert(field);//依次输出Id和Id1;

alert(jsonObj[field].userId)  //针对第一次循环,输出:001【第一个属性值为json对象,要通过属性值的属性访问】

alert(jsonObj[field]);//针对第二次循环,输出:002【第二个属性值为简单常量,直接输出即可】

}

二、定义一个json数组

var josnArry=[];

1、添加json对象元素:

jsonArry.push(jsonObj);

2、删除元素

1)、delete jsonArry[0];

删除指定位置元素。注意:不直接直接删除,而是用null项取代。数组长度不变

结果:[ null],此时jsonArry[0]的值为undefined,后续访问数组时要考虑删除后的元素的特殊情况

2)、splice(index,length):

删除指定位置开始指定个数的项

和delete区别:1、splice直接清空指定项,数组长度减小。而delete 只是用null项取代原有项

2、splice可以一次性删除多项。而delete职能删除一项

3、循环访问数组

1、jQuery方式

$.each(jsonArry,function(index,item){

var userId=item.userId;

});

2、一般js方法

for(var i=0;i<jsonArry.length;i++)

{

var userId=jsonArry[i].userId;

}

3、特殊方法(类似方法2)

for(var item in jsonArry)

{

var userId=jsonArry[item].userId;//注意:此处的item不是数组项,而是数组项的索引

}

三、字符串和json对象和json对象数组相互转换

var jsonStr="{\"userId\":\"001\"}";

var jsonArry="[{\"userId\":\"001\"},{\"userId\":\"002\"}]";

1、字符串转json对象或json对象数组

var jsonObj=JSON.parse(jsonStr);

var jsonArry=JSON.parse(jsonArry);

2、json对象或json对象数组转字符串

var jsonStr=JSON.stringify(jsonObj);

var jsonArryStr=JSON.stringify(jsonArry);

0
时间: 2024-10-13 13:07:47

操作Json和Json数组的一些基本方法的相关文章

对象、对象数组、JSON、JSON数组的相关操作

本文主要是对JS操作JSON的要领做下总结在JSON中,有两种结构:对象和数组 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“"名称/值" 对”之间运用 “,”(逗号)分隔. 名称用引号括起来:值如果是字符串则必须用括号,数值型则不须要.例如: var json = { "name": "姓名", "sex": "25" }; 2. 数组是值(value)

json和字符串/数组/集合的互相转换の神操作总结

一:前端字符串转JSON的4种方式 1,eval方式解析,恐怕这是最早的解析方式了. function strToJson(str){ var json = eval('(' + str + ')'); return json; } 2,new Function形式,比较怪异哦. function strToJson(str){ var json = (new Function("return " + str))(); return json; } IE6/7中当字符串中含有换行(\n

Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)

首先声明一下,jsonlib转换与GSON相比太差劲了,操作不是一般的繁琐.GSON可以直接转换成各种集合与对象类型.强烈推荐使用GSON.而且GSON一个方法就可以解决,jsonlib转来转去太繁琐了. 手动创建JSONObject与JSONArray有用,用于读取文件对字符串进行处理 -----------------------------jsonlib操作复杂,转换Map与list<map>更是复杂---------------- Jar包 User.java 1 package Te

JSON数组,JSON对象,数组的区别与基本操作整理

JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是:名称/值对. 名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开: "firstName":"John" JSON 值 JSON 值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(

jquery解析php通过ajax传过来的json二维数组对象

ajax获得php传过来的json二维数组对象,jquery解析 php代码: <?php $news = array( '武汉'=>array(1,2,3), '广州'=>array('rain','shu','fruit'), '北京'=>array('yellow','orange','black'), '上海', '深圳' ); echo json_encode($news); 前台页面 <!DOCTYPE html> <html lang="e

json对象,数组,字符串总结

关于json对象,数组,字符串的总结 什么是json? JSON(JavaScript Object Notation)  一种轻量级的数据交换格式,JSON采用完全独立于语言的文本格式...(来自百度百科) json对象,json数组,json字符串 json字符串就是一个String类型的字符串,不过是json格式的... json对象 {} 在json中,{}里的内容代表的是对象 json数组 []  在json中,[]里的内容代表的是对象 ----- 未完---待续-----

json、js数组真心不是想得那么简单

之前由于做前台的东西比较少,对于json和js数组的认识仅局限于一种固定格式.这种固定的思维在开发前台时,特别是最近使用highcharts插件时,让我感到特别不明白,通过查询终于心头的疙瘩解开了. 好了,废话少说,进入正题. 1.json ------ 什么是json? 首先让我看看w3c是怎么定义的. JSON:JavaScript 对象表示法(JavaScript Object Notation).JSON 是存储和交换文本信息的语法.类似 XML.JSON 比 XML 更小.更快,更易解

ASP.NET MVC Controller接收ajax post方式发送过来的json对象或数组数据

本例旨在说明我的一种Controller接收ajax提交(POST)过来的json对象或数组信息的方式,感觉应该有更好的方式,欢迎提出宝贵意见. JSON.stringify(jsonObj)不支持IE8以下浏览器 前端页面代码如下: 1 <script type="text/javascript" src="~/Scripts/jquery-1.11.3.js"></script> 2 <form id="fm"&

json格式转数组注意事项

今天遇到一个特别奇葩的问题,json格式明明是正确的,转数组时却就是出不来,后来才发现是文件的编码问题,文件的编码一定要是utf-8无BOM格式,这点一定要切记!切记! 如果想确认json是否正确:http://www.kjson.com/ json格式的城市: <?php $json = '{ "北京": { "key": 11, "defaultvalue": 1, "values": { "东城区&quo

php json字符串转为数组或对象

从网上查到的方法是 用get_object_vars 把类类型转换成数组 然后在用foreach  遍历即可 $array = get_object_vars($test); $json= '[{"id":"1","name":"\u5f20\u96ea\u6885","age":"27","subject":"\u8ba1\u7b97\u673a\u79d