json数据格式使用方法入门教程_第1页
json数据格式使用方法入门教程_第2页
json数据格式使用方法入门教程_第3页
json数据格式使用方法入门教程_第4页
json数据格式使用方法入门教程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

和XML一样,JSON也是基于纯文本的数据格式。由于JSON天生是为个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的Object对象。String,NumberBooleanJSONJSON一个简单的String“abc”,其格式为:他Unicode字符可以直接输出。下图是一个String的完整表示结构:1StringNumber2NumberBooleantruefalseJavaScriptnull示为null,注意,true、false和null都没有双引号,否则将被视为一个String。JSON还可以表示一个数组对象,使用[]包含所有元素,每个元素用逗号Boolean和一个null:Object对象在JSON中是用{}包含一系列无序的Key-Value键值对表ObjectJavaMap<String,Object>,而不是Java的Class。注意Key只能用String表示。例如,一个Address对象包含如下Key-JSON{{"city":"Beijing","street":"ChaoyangRoadValueObjectObjectPersonnameaddress{"city":"Beijing","street":"ChaoyangRoad}JavaScriptJSONJSONJavaScript理JSON格式的数据。WebJavaScriptJSON一个简单的JavaScript方法就能看到客户端如何将JSON数据表示给用户:functionfunctionhandleJson()var{"city":"Beijing","street":"ChaoyangRoad}JSON{"city":"Beijing","street":"ChaoyangRoad}XMLDOM,JSONAjaxJSONAjaxJSONPrototype(JavaScript)提供了evalJSON()JSONJavaScriptnewnew{method:onSuccess:function(transport)varjson=}JSON将演示将一个Java对象编码为JSON格式的文本。须用(")而非(')表示字符串:staticstaticStringstring2Json(Strings)StringBuildersb=newStringBuilder(s.length()+20);for(inti=0;i<s.length();{charc=s.charAt(i);switch(c){casecasecasecasecasecasecasecase}}}NumberJSONJavaInteger,Long,Float等多种NumberstaticstaticStringnumber2Json(Number{return}BooleantoString()JSONstaticstaticStringboolean2Json(Boolean{return}JSONstaticstaticStringarray2Json(Object[]{if(array.length==0)return"[]";StringBuilderStringBuildersb=newStringBuilder(array.length<<4);for(Objecto:{}//将最后添加的','变为']':returnsb.toString();}最后,我们需要将Map<String,Object>编码为JSON格式,因为JavaScriptObjectJavaMap<String,Object>staticstaticStringmap2Json(Map<String,Object>{ifreturnStringBuildersb=newStringBuilder(map.size()<<4);Set<String>keys=map.keySet();for(Stringkey:keys){Objectvalue=map.get(key);}//将最后的','变为'}':returnsb.toString();}能够将任意的Java对象编码为JSON格式:publicpublicstaticStringtoJson(Object{ifreturnif(oinstanceofif(oinstanceofBoolean)if(oinstanceofNumber)if(oinstanceofMap)returnmap2Json((Map<String,Object>)o);if(oinstanceofObject[])returnthrownewRuntimeException("Unsupportedtype:"+}我们并未对Java对象作严格的检查。不被支持的对象(例如List)将直Object>对象的Key也不能包含特殊字符。细心的读者可能还会发现循环引用的对象会引发无限递归,例如,精心构造一个循环引用的Map,就可以检测到publicvoidtestRecurrsiveMap2Json()Map<String,Object>map=newHashMap<String,Object>();map.put("key",map);}JSONJavaScriptServletMVCJSONMIME型(application/json)和字符编码。假定服务器使用UTF-8用以下代码输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论