JSON(JavaScript?Object?Notation)?是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,可 以用来在客户端和服务器端传输数据!JSON对象既可用于AJAX的开发中,也可用一般的J2EE的开发中,用于一次性向后台提交多于一条的记录!(譬如 显示在页面上的table中记录)?
JSON官方网站的介绍:(www.json.org)?
JSON?(JavaScript?Object?Notation)?is?a?lightweight?data-interchange?format.?It?is?easy?for?humans?to?read?and?write.?It?is?easy?for?machines?to?parse?and?generate.?It?is?based?on?a?subset?of?the?JavaScript?Programming?Language,?Standard?ECMA-262?3rd?Edition?-?December?1999.?JSON?is?a?text?format?that?is?completely?language?independent?but?uses?conventions?that?are?familiar?to?programmers?of?the?C-family?of?languages,?including?C,?C++,?C#,?Java,?JavaScript,?Perl,?Python,?and?many?others.?These?properties?make?JSON?an?ideal?data-interchange?language.?
JSON?is?built?on?two?structures:?
*?A?collection?of?name/value?pairs.?In?various?languages,?this?is?realized?as?an?object,?record,?struct,?dictionary,?hash?table,?keyed?list,?or?associative?array.
*?An?ordered?list?of?values.?In?most?languages,?this?is?realized?as?an?array,?vector,?list,?or?sequence.?
These?are?universal?data?structures.?Virtually?all?modern?programming?languages?support?them?in?one?form?or?another.?It?makes?sense?that?a?data?format?that?is?interchangable?with?programming?languages?also?be?based?on?these?structures.
简单的示例:?
1。var?jsonObj={person1:{name:"jack",age:"12"},?
person2:{name:"kate",age:"23"},?
person3:{name:"jim",age:"14"}?
};?
调用JSON对象的属性,?
1)jsonObj.person1.name?
2)jsonObj["person1"].name?
可以通过for循环的方式调用JSON对象中的每一个子对象?
for(var?p?in?jsonStr){?
//alert(typeof?p);?alert(p);//返回的是string?
str+=jsonObj[p].name+","+jsonObj[p].age+"<br>";?
}?
2。var?jsonObj2={persons:[{name:"jordan",sex:"m",age:"40"},?
{name:"bryant",sex:"m",age:"28"},?
{name:"McGrady",sex:"m",age:"27"}?
]};?
调用JSON对象的属性,?
1)jsonObj2.persons[0].name;?
2)for循环调用方法,?
var?persons=jsonObj2.persons;//返回的值是一个数组object?
for(var?i=0;i<persons.length;i++){?
cur_person=persons[i];?
str+=cur_person.name+"'sex?is?"+cur_person.sex+"?and?age?is?"+cur_person.age+"<br>";?
}?
向jsonObj2的persons数组中插入,删除,更新?数据,?
此处,可以利用javascript的Array对象的方法进行操作,如?
var?person={name:"yaoMing",sex:"m",age:"26"};?
jsonObj2.persons.push(person);//数组最后加一条记录?
jsonObj2.persons.pop();//删除最后一项?
jsonObj2.persons.shift();//删除第一项?
jsonObj2.persons.unshift(person);//数组最前面加一条记录?
只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice(?)进行crud操作!?
//删除?
jsonObj2.persons.splice(0,1);//开始位置,删除个数?
//替换不删除?
var?self={name:"tom",sex:"m",age:"24"};?
var?brother={name:"Mike",sex:"m",age:"29"};?
jsonObj2.persons.splice(1,0,self,brother);//开始位置,删除个数,插入对象?
//替换并删除?
var?self={name:"tom",sex:"m",age:"24"};?
var?brother={name:"Mike",sex:"m",age:"29"};?
jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象?
二,知道了在Javascript中JSON的基本操作,但这还不能与后台进行交互,在着之前还需要把它转化为?String!?
方法有两个,1)引入一个方法?:?
function?obj2str(o){?
var?r?=?[];?
if(typeof?o?=="string")?return?"/""+o.replace(/([/'/"//])/g,"//$1").replace(/(/n)/g,"//n").replace(/(/r)/g,"//r").replace(/(/t)/g,"//t")+"/"";?
if(typeof?o?==?"object"){?
if(!o.sort){?
r[0]="{"?
for(var?i?in?o){?
r[r.length]=i;?
r[r.length]=":";?
r[r.length]=obj2str(o[i]);?
r[r.length]=",";?
}?
if(!!document.all?&&?!/^/n?function/s*toString/(/)/s*/{/n?/s*/[native?code/]/n?/s*/}/n?/s*$/.test(o.toString)){?
r[r.length]="toString:"+o.toString.toString();?
r[r.length]=",";?
}?
r[r.length-1]="}"?
}else{?
r[0]="["?
for(var?i?=0;i<o.length;i++){?
r[r.length]=obj2str(o[i]);?
r[r.length]=",";?
}?
r[r.length-1]="]"?
}?
return?r.join("");?
}?
return?o.toString();?
}?
网上找的,还蛮好用地!!在此对原创者表示感谢啦!!?
2)JSON官方网站提供的一个开源的JSON解析器和字符串转换?器,json.js?
到此为止的话,就可以顺利的将客户端这边的记录传到后台!!?
下面还有?一个服务器端如何处理的过程,下会接着进行总结!!?
详细解决方案
转 JSON 了解
热度:425 发布时间:2012-11-22 00:16:41.0
相关解决方案
- (Struts2+JSON+Ajax) XMLHttpRequest ==500如何解决
- json 解析有关问题
- struts2-json中诠注@JSON(deserialize=false)是什么用?不是阻止JSON反序列化成JAVA对象吗?求解
- 请教哪里可以上到 struts2-json-plugin-2.1.8的源文件
- java+jquery easy ui + json + struts分页例子
- ssh json jar 有关问题
- json 有关问题
- AJAX 传递数据如何样才可以是 json
- jquery.load(*json) 解析不已。求帮忙
- JSON,AJAX
- 2中,可是一直发生java.lang.NoClassDefFoundError: net/sf/json/
- json 转成 string解决办法
- json ,Map转json,全部分了
- jquery ajax+json(插件) 提交数据,让人捉摸不透的是:【部分中文显示问号】,该怎么解决
- json 序列化有错误怎么办
- JQUERY json 传值有关问题
- 获取 天候Api 返回的 json 数据
- MVC(Json) 出现提示上载
- MVC,linq,json,有关问题不知道如何描述,跪求
- json 序列化有关问题?当列名为可变数值时,如果序列化
- HttpWebRequest post json 数据,接受应该怎么获取啊
- 在于json。超级郁闷。上载了Newtonsoft.Json,可是没有JavaScriptArray属性,这是为什么呀
- 急MVC3 返回 Json 有关问题
- jquery +json +html 怎么做分页
- JSON.parse是那里定义的,小弟我在vs2008里js函数里调用了
- jqGrid json 不显示数据,该如何处理
- json 反序列化 为.net对象,该如何处理
- JQUERY AJAX JSON 有关问题 求大侠指点
- json 转成 Dataset 保存到数据库,该怎么处理
- json[0].CodeID值为undefined解决方法