JSON基本用法
JSON基本用法
{
key1:value1,
key2:value2,
……
}
XML:
<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<ZONE>4</ZONE>
……
<PLANT>
……
<CATALOG>
JSON的两种基础结构
- 对象机构以“{”开始,以“}”结束。中间部分由0或者n个以”,“分隔的‘键值对’ key(关键字):value(值)构成。语法结构如下:
- 数据结构以“[”开始,“]”结束。中间由0或n个以“,”分隔的值列表组成,语法结构如下
认识JSON字符串,字符串,JSON对象
JSON字符串和JSON对象的转换
//JSON字符串转化为JSON对象
var jsonStr = '{"name":"drubber.com", "password":"222"}';
var jsonObj = eval('('+jsonStr+')');
JSON对象转化为JSON字符串
//JSON字符串转化为JSON对象
var jsonStr = '{"name":"drubber.com", "password":"222"}';
var jsonObj = eval('('+jsonStr+')');
var jsonStr2 = JSON.stringify(jsonObj);
在JS中如何使用JSON
var obj = {
1:"value1",
"2":"value2",
sum:3,
people:[
{
"name":"zhangsan",
"sex":"gril"
},
{
"name":"lisi",
"sex":"boy"
}
],
objJson:{
id:1,
name:"json"
}
};
从JSON中读数据
//alert(obj.1+"***"+obj[1]);
//alert(obj.2);//同上,会报错,说明最好不用数字做关键字
alert(obj["2"]);
alert(obj.sum); alert(obj.people[0].name +"***"+obj["people"][0]["name"]);
往JSON中写数据和修改数据(两者是一样的)
//JSON写入数据
obj.test = "test";
//删除JSON数据
delete obj.test;

遍历JSON对象
//遍历JSON对象
for(var i in obj){
console.log(i + ":",obj[i]);
}
JSON数组的操作
1、JSON数组中添加JSON对象
objArray.push(obj.objJson);


objArray.pop();
//遍历JSON数组
var peopleArray = obj.people;
for(var i=0;i<peopleArray.length;i++){
debugger
console.log(i + ":",peopleArray[i]);
}
(2)Jquery方法each遍历JSON数组
var peopleArray = obj.people;
$.each(peopleArray,function(i,value){
console.log(i + ":",value);
});
在java语言中使用JSON
web页面提交json到后台
为避免乱码需要做如下处理
url:"/regist.htm?registInfo="+encodeURI(encodeURI(JSON.stringify(jsonObject))),
相应的java代码为
String paString = URLDecoder.decode(request.getParameter("parm"), "utf-8")
转载自:http://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html
JSON基本用法的更多相关文章
- 再谈Newtonsoft.Json高级用法
上一篇Newtonsoft.Json高级用法发布以后收到挺多回复的,本篇将分享几点挺有用的知识点和最近项目中用到的一个新点进行说明,做为对上篇文章的补充. 阅读目录 动态改变属性序列化名称 枚举值序列 ...
- Jquery之JSON的用法
今天讲了Jquery里面JSON的用法,下面是今天讲课给的例子: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" &quo ...
- Newtonsoft.Json高级用法之枚举中文转义
最近看博客园中 焰尾迭的两篇关于"Newtonsoft.Json高级用法"的文章受到了很多人的评论,一度登入到头条推荐. 今天我就不再重复焰尾迭博文中的一些提过的Newtonsof ...
- Newtonsoft.Json高级用法(转)
手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...
- 【转】 Newtonsoft.Json高级用法
手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...
- Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称
手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...
- Newtonsoft.Json 高级用法
基本用法 Json.NET是支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity的.下面分别举例说明序列化和反序列化. DataTable: //序列 ...
- 转:Newtonsoft.Json高级用法
原文地址:http://www.cnblogs.com/yanweidie/p/4605212.html 手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多 ...
- Json.Net用法
基本用法 Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity的.下面分别举例说明序列化和反序列化. DataTable: //序列 ...
随机推荐
- JavaScript 中的window.event代表的是事件的状态,jquery事件对象属性,jquery中如何使用event.target
http://wenda.haosou.com/q/1373868839069215 http://kylines.iteye.com/blog/1660236 http://www.cnblogs. ...
- asp 实现域名转向
<% host=lcase(request.servervariables("HTTP_HOST")) select CASE host CASE "aa.cn&q ...
- 严格模式use strict
严格模式主要有以下限制: 变量必须声明后再使用函数的参数不能有同名属性,否则报错不能使用with语句不能对只读属性赋值,否则报错不能使用前缀0表示八进制数,否则报错不能删除不可删除的属性,否则报错不能 ...
- 解决Linux性能问题的前60秒
为了解决性能问题,你登入了一台Linux服务器,在最开始的一分钟内需要查看什么? 在Netflix我们有一个庞大的EC2 Linux集群,还有非常多的性能分析工具来监控和调查它的性能.其中包括用于云监 ...
- <<精益创业>>读书笔记
不要以严格地职能部门来组成公司,而是要以人们在各自专长的领域做出表现,组建跨部门的团队 在普通的管理中,如果无法实现目标,要么是计划不足,要么是技术不足 这点我感触比较深,以前在老东家的时间,刚开始是 ...
- python---dict字典
Python 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式 ...
- python标准库xml.etree.ElementTree的bug
使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些 ...
- Android学习笔记(五)
Intent不仅用来启动一个活动,Intent还可以在启动活动的时候传递参数. 1.向下一个活动传递数据 启动活动的时候传递数据,Intent提供了一系列putExtra()方法的重载,可以把要传递的 ...
- 51nod 1471 小S的兴趣 sqrt
小S喜欢有趣的事.但是,每个人的兴趣都是独特的.小S热衷于自问自答.有一天,小S想出了一个问题. 有一个包含n个正整数的数组a和针对这个数组的几个问题.这些问题有两种类型: 1. 在数组下标 ...
- uboot和内核波特率不同
uboot和内核波特率不同,在uboot启动后,修改uboot参数: set bootargs 'noinitrd root=/dev/mtdblock3 init=/linuxrc console= ...