[ASP.NET]JSON
前言:上一篇博客和大家分享了Ajax应用程序的核心XMLHttpRequest,这篇博客和大家分享一下提高效率,优化网站的JSON,
(一)JSON 内容
1.JSON简介
JSON 的全称是 JavaScript Object Notation,是一种轻量级的数据交换格式。
JSON 与 XML 具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。
但是 JSON 比 XML 数据传输的性能要高出很多。JSON 完全独立与编程语言,使用文本格式保存。
2.JSON 数据有两种结构:
①Name-Value 对构成的集合,类似于 Java 中的 Map。
②Value 的有序列表,类似于 Java 中的 Array。
一个 JSON 格式的数据示例:
{ "Name": "Apple", "Expiry": "2007/10/11 13:54", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }
3 GWT 与 JSON
GWT 中支持的客户端服务器端方法调用和数据传递的标准格 式是 RPC。
JSON 并不 是 GWT支持的标准的数据传递格式。那么如何使用 JSON 来作为 GWT 的数据传递格式 呢?
需要以下几步。
第一,引用 HTTP 和 JSON 支持。
第二,在客户端创建 JSON 数据,提交到服务器
第三,在服务器上重写数据格式解析的代码,使之支持 JSON 格式的数据
第四,在服务器上组织 JSON 格式的数据,返回给客户端。
第五,客户端解析服务器传回的 JSON 数据,正确的显示 引用 HTTP 和 JSON 支持
找到.gwt.xml 文件,在其中的
<inherits name='com.google.gwt.user.User'/>
在之后添加如下的内容
<inherits name="com.google.gwt.json.JSON"/>
<inherits name="com.google.gwt.http.HTTP"/>
其中
com.google.gwt.json.JSON 指的是要使用 JSON,com.google.gwt.http.H TTP 值得是通过 HTTP 调用服务器上的服务方法。
(三)客户端构造 JSON 数据
客户端需要使用 com.google.gwt.json.client 包内的类来组装 JSON 格式的数据, 数据格式如下:
数据类型 JSONArray JSONBoolean
说明 JSONValue 构成的数组类型 JSON boolean 值 ,访问 JSON 结构的数据出错的情况下可以抛出此异常。
JSONException JSONNull JSONNumber JSONObject JSON Null
根式的数据 JSON Number
类型的数据 JSON Object
类型的数据 将 String 格式的 JSON 数据解析为 JSONValue JSONParser 类型的数据
JSONString JSONValue JSON String 类型的数据
所有 JSON 类型值的超级类型
组合一个简单的 JSON 数据:
JSONObject input = new JSONObject();
JSONString value = new JSONString("mazhao");
input.put("name", value);
JSON 数据格式为:{name: "mazhao"}
组合一个包含数组类型的复杂 JSON 数据:
JSONObject input = new JSONObject();
JSONString value = new JSONString("mazhao");
input.put("name", value);
JSONArray arrayValue = new JSONArray();
arrayValue.set(0, new JSONString("array item 0"));
arrayValue.set(1, new JSONString("array item 1"));
arrayValue.set(2, new JSONString("array item 2"));
input.put("array", arrayValue);
JSON 数据格式为: {name: "mazhao", array: {"array item 0", "array item
总结:使用JSON可以极大提高数据传输效率,易于人编写和阅读,易于机器生成和解析,非常方便。
上一篇: Asp.net无刷新调用后台实体类数据并以Json格式返回
下一篇: Nginx配置以及域名转发
推荐阅读
-
JS中的数组转变成JSON格式字符串的方法
-
Asp.Net Core 单元测试正确姿势
-
Asp.Net Core 单元测试正确姿势
-
【翻译】使用WebApi和Asp.Net Core Identity 认证 Blazor WebAssembly(Blazor客户端应用)
-
(24)ASP.NET Core EF查询(查询的工作原理、跟踪与非跟踪查询)
-
ASP.NET Core 3.x 并发限制
-
在Asp.Net或.Net Core中配置使用MarkDown富文本编辑器有开源模板代码(代码是.net core3.0版本)
-
ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
-
Java解析复杂JSON数据的一种方法
-
我来告诉你:VS2019开发ASP.NET Core 3.0 Web项目,修改视图后,刷新浏览器看不到修改后的效果怎么处理