没有合适的资源?快使用搜索试试~ 我知道了~
json的详细教程,是入门学习的必备。
资源推荐
资源详情
资源评论
JSONJSONJSONJSON
JSON
的全是
JavaScriptObjectNotation
,是一种量的据交格式。
JSO
N
与
XML
具有相同的特性,例如易于人和,易于机器生成和解析。但是
JSON
比
XML
据输的有效性要高出很多。
JSON
完全立与程言,使用文本格式保存。
JSON
据有两种构:
•
Name-Value
构成的集合,类似于
Java
中的
Map
。
•
Value
的有序列表,类似于
Java
中的
Array
。
一个
JSON
格式的据示例:
{
"Name":"Apple",
"Expiry":"2007/10/1113:54",
"Price":3.99,
"Sizes":
[
"Small",
"Medium",
"Large"
]
}
更多于
JSON
据格式的明参看
JSON
官方网站:
http://www.json.org
(中文
容参看:
http://www.json.org/json-zh.html
)
GWTGWTGWTGWT
JSONJSONJSONJSON
GWT
中支持的客户端服务器端方法用和据递的准格式是
RPC
。
JSON
并不
是
GWT
支持的准的据递格式。那么如何使用
JSON
作
GWT
的据递格式
呢?需要以下几步。
第一,引用
HTTP
和
JSON
支持。
第二,在客户端建
JSON
据,提交到服务器
第三,在服务器上重据格式解析的代,使之支持
JSON
格式的据
第四,在服务器上织
JSON
格式的据,返回客户端。
第五,客户端解析服务器回的
JSON
据,正确的示
HTTPHTTPHTTPHTTP
JSONJSONJSONJSON
找到
.gwt.xml
文件,在其中的
<inheritsname='com.google.gwt.user.User'/>
在之后添加如下的容:
<inheritsname="com.google.gwt.json.JSON"/>
<inheritsname="com.google.gwt.http.HTTP"/>
其中
com.google.gwt.json.JSON
指的是要使用
JSON
,
com.google.gwt.http.H
TTP
值得是通
HTTP
用服务器上的服务方法。
JSONJSONJSONJSON
客户端需要使用
com.google.gwt.json.client
包的类装
JSON
格式的据,
据格式如下:
合一个的
JSON
据:
JSONArray
JSONValue
构成的类型
JSONBoolean
JSONboolean
值
JSONException
JSON
构的据出的情况下可以出此异常
JSONNull
JSONNull
根式的据
JSONNumber
JSONNumber
类型的据
JSONObject
JSONObject
类型的据
JSONParser
String
格式的
JSON
据解析
JSONValue
类型的据
JSONString
JSONString
类型的据
JSONValue
所有
JSON
类型值的超类型
JSONObjectinput=newJSONObject();
JSONStringvalue=newJSONString("mazhao");
input.put("name",value);
JSON
据格式:
{name:"mazhao"}
合一个包含类型的复
JSON
据:
JSONObjectinput=newJSONObject();
JSONStringvalue=newJSONString("mazhao");
input.put("name",value);
JSONArrayarrayValue=newJSONArray();
arrayValue.set(0,newJSONString("arrayitem0"));
arrayValue.set(1,newJSONString("arrayitem1"));
arrayValue.set(2,newJSONString("arrayitem2"));
input.put("array",arrayValue);
JSON
据格式:
{name:"mazhao",
array:{"arrayitem0","arrayitem1","arrayitem2"}}
注意上述的
JSON
类型的据,使用的都是
com.google.gwt.json.client
包的类
型。些类型最会被
JavaScript
行。
JSONJSONJSONJSON
在服务器上,需要使用
JSONJava
支持类才能
JSON
格式的据各种类型
的据,然也可以自己一些解析用的代。里我使用了
www.json.org
上的代
完成。代与
com.google.gwt.json.client
的代很相似,只是在
org.json
包
部。
怎么解析
JSON
呢?上述中的复的
JSON
据:
{name:"mazhao",
array:{"arrayitem0","arrayitem1","arrayitem2"}}
可以使用如下的方式解析:
JSONObjectjsonObject=newJSONObject(payload);
Stringname=jsonObject.getString("name");
System.out.println("nameis:"+name);
JSONArrayjsonArray=jsonObject.getJSONArray("array");
for(inti=0;i<jsonArray.length();i++){
System.out.println("item
"
+i+
"
:"+jsonArray.getString(i));
}
其中
payload
指的是上述的
JSON
格式的据。
那么如何
GWT
的
Service
得到
Payload
的据呢?需要两点,第一,需要建立
一个
Service
类,第二,覆盖父类的
processCall
方法。
示例代:
packagecom.jpleasure.gwt.json.server;
importcom.google.gwt.user.client.rpc.SerializationException;
importcom.google.gwt.user.server.rpc.RemoteServiceServlet;
importcom.jpleasure.gwt.json.client.HelloWorldService;
importorg.json.JSONArray;
importorg.json.JSONException;
importorg.json.JSONObject;
/**
*CreatedbyIntelliJIDEA.
*User:vaio
*Date:2007-9-4
*Time:22:08:31
*TochangethistemplateuseFile
|
Settings
|
FileTemplates.
*/
publicclassHelloWorldServiceImplextendsRemoteServiceServletimplements
HelloWorldService{
publicStringprocessCall(Stringpayload)throwsSerializationException{
try{
JSONObjectjsonObject=newJSONObject(payload);
Stringname=jsonObject.getString("name");
System.out.println("nameis:"+name);
JSONArrayjsonArray=jsonObject.getJSONArray("array");
for(inti=0;i<jsonArray.length();i++){
System.out.println("item
"
+i+
"
:"+jsonArray.getString(i));
}
}catch(JSONExceptione){
e.printStackTrace();//TochangebodyofcatchstatementuseFile
|
剩余21页未读,继续阅读
资源评论
kongyuemei
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功