`

转 JSON 理解

 
阅读更多

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报文与XML互转

    java对象与json报文、xml报文的转换,json与xml报文的转换,适合新手理解报文转换以及格式

    java的xml和json相互转换工具类,直接用

    实现的一个简单的基于java 的,可以在xml和json之间相互转换的工具类,因为实在没有积分了,所以要点积分,希望理解~

    JSONF示例,JSON入门案例,JSON

    这是一个简单的JSON用AJAX效果取出PHP文件中JSON数据的实例,对理解JSON技术有很的帮助,对于数据处理和调用非常明了,一看就懂.

    js的json转对象.pdf

    每一种方法都有详细的代码示例和实现说明,让您可以轻松地理解和掌握这些方法。 本文档还介绍了如何将JavaScript对象转换为JSON格式的数据、如何处理JSON数据中的日期和时间等相关知识。这些知识点涵盖了JavaScript...

    Json-lib 是一个 Java 类库

    •什么是 Json JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。它基于 JavaScript Programming Language, ...

    delphi解析Json例子

    delphi解析Json例子

    RACE英语阅读理解json格式

    CMU 公开的RACE数据集,原来是txt文件,不方便读取。这个版本是json数据集,做了简单的格式调整,python使用起来更方便.

    VB解析JSON案例

    简单实用的案例,一看就能理解,内容包含解析JSON字符串和JS脚本。

    json使用实例

    json使用实例,帮助理解如何使用JSON

    Qt4实现json文件的读取和显示

    QT4不支持JSON格式,QT5自带了库,所以QT4需要引入第三方,这里使用的是Eeli Reilin的QtJson。本资源是对json库的实现案例,适合学习和理解json库的qt读写使用。

    json理解chuji

    JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。

    JSON格式化/字符串格式转换

    1、JSON格式化:软件能够自动识别并格式化JSON数据,使其结构清晰,便于阅读和理解。同时,软件还支持手动调整JSON结构,以满足不同用户的需求。 2、字符串转BASE64:通过将字符串转换为BASE64编码,可以方便地在...

    System.Net.Json 开源类库 修改版

    添加JsonTextParser1.cs类,采用stack解析json数据,方便理解(原来JsonTextParser,太强悍,自己理解感觉比较吃力) 2。JsonTextParser1,修正原来不能解析的几种数据情况(abc:[] , abc:[1,2,3] 等情况解析失败的...

    pb解析json

    花了好长时间才把json格式给理解清楚 再把格式变成pb可以直接解析的对象 纯属原创 请大家多多支持

    JSON 数据格式化 排版 UI图像示意 便于阅读和理解JSON数据结构 和 数据验证

    JSON 数据格式化 排版 UI图像示意 便于阅读和理解JSON数据结构 和 数据验证

    js json字符串转对象

    1、本文详细描述了json转对象的方法。 2、通过详细示例,让读者更直观地阅读,更清晰的理解。 3、示例代码可直接复制,编译后可直接运行。 4、根据示例以及运行结果,让读者加强记忆及理解。

    json-org.jar

    json工具类,什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来...JSON 具有自我描述性,更易理解

    一个"短小精悍"的 json 解析库Tomjson.zip

    Tomjson架构简单,理解起来较其他json序列化库相对容易一些。 Tomjson在序列化时体现了“专人专事”的思想,比如如果是String类型的数据,则交给StringSerializer类来序列化; 如果是Integer类型的数据,则交给...

    json字符串和js对象之间的转换

    json字符串和js对象之间的转换,包括eval、parseJSON函数、JSON.parse、$.toJSON、$.parseJSON、复杂的json格式对象使用,让你一分钟理解json的那些事

    json例子和demo

    学java必备的一项技能,xml和json必须要学习, 这个例子对理解json有很大益处、

Global site tag (gtag.js) - Google Analytics