在JavaScript中,JSON是一种非常重要的数据格式,key:value的形式比XML那种复杂的标签结构更容易理解,代码量也更小,很多人倾向于使用它作为EXT的数据交换格式。为Json- Reader准备的JSON数据如下面的代码所示。
var data = {
id:0,
totalProperty:2,
successProperty:true,
root:[
{id:'id1',name:'name1',descn:'descn1'},
{id:'id2',name:'name2',descn:'descn2'}
]
};
与数组相比,JSON的最大优点就是支持分页,我们可以使用totalProperty参数表示数据的总量。successProperty参数是可选的,可以用它判断当前请求是否执行成功,进而判断是否进行数据加载。在不希望JsonReader处理响应数据时,可以把successProperty设置成false。
现在来讨论一下JsonReader,看看它是如何与上面的JSON数据对应的,如下面的代码所示。
var reader = new Ext.data.JsonReader({
successProperty: "successproperty",
totalProperty: "totalProperty",
root: "root",
id: "id"
}, [
{name:'id',mapping:'id'},
{name:'name',mapping:'name'},
{name:'descn',mapping:'descn'}
]);
上例中的对应方式不够简洁,因为name和mapping部分的内容是相同的,其实这里的mapping可以省略,默认会用name参数从JSON中获得对应的数据。如果不想与JSON里的名字一样,也可以使用mapping修改。不过,mapping在这里还有其他用途,如代码清单10-3所示。
代码清单 为JsonReader设置mapping进行数据映射
var data = {
id:0,
totalProperty:2,
successProperty:true,
root:[
{id:'id1',name:'name1',descn:'descn1',person:{
id:1,name:'man',sex:'male'
}},
{id:'id2',name:'name2',descn:'descn2',person:{
id:2,name:'woman',sex:'female'
}}
]
};
var reader = new Ext.data.JsonReader({
successProperty: "successproperty",
totalProperty: "totalProperty",
root: "root",
id: "id"
}, [
'id','name','descn',
{name:'person_name',mapping:'person.name'},
{name:'person_sex',mapping:'person.sex'}
]);
在上面的代码中,我们使用JSON支持更复杂的嵌套结构,其中的person对象自身就拥有id、 name和sex等属性。在JsonReader中可以用mapping把这些嵌套的内部属性映射出来,赋予对应的record,而其他字段都不变。
分享到:
相关推荐
JsonReader reader = new JsonReader(new StringReader(jsonText)); JsonSerializer ser = new JsonSerializer(); var obj = ser.Deserialize(reader, typeof(List)); List<NewsInfo> newsList = obj as List;
一个简单但是很有效的json获取的java代码,通过url获取json, 例如百度地图api的json获取
JSON阅读器
极简的 Json Reader For .Net with C# 如,不想多附加一个 dll 可以将源码添加到项目里即可。
DataReader、JsonReader、XmlReader的构造方法,需要的朋友可以参考下。
datax-jsonreader
let reader = new JsonReader ( filepath ) 开始阅读文件 reader . read ( json => { /*return a promise*/ } , totalObjects => { /*totalObjects processed*/ } ) ; 第一个参数期望一个函数,该函数应返回...
composer require pcrov/jsonreader 用法 JsonReader的界面和行为与非常相似。 如果您已经这样做过,那么您会感到很熟悉。 有关和请参见 。 注意 仅支持UTF-8编码的JSON。 如果您需要使用其他编码来解析JSON,请...
jsonreader :功能模块,用于 该模块提供了一个简单的框架,用于使用应用程序解析 JSON。 由于 JSON 和 shell 脚本不容易混合,因此我们使用带有回调的基于事件的解析器。 在任何 POSIX shell 中- 不仅仅是 bash! ...
buildJSONPacketBody数组形式封装json、JsonReader解析服务器返回值、封装对象、https协议 http://blog.csdn.net/u013210620/article/details/51921598
该程序可以解析大型JSON文件并显示。 测试过复杂的含多重嵌套对象,数组的JSON文件,并且反应速度快。
NULL 博文链接:https://lingyibin.iteye.com/blog/804801
从文件或流中读取和写入JSON数据。 通过JsonSchema进行验证(有关规范,请参见http://json-schema.org)
Json解析工具:Gson解析json有三个特点: JSON数据解析工具: JSONView JsonReader reader = new JsonReader(); org.json和json-lib比较简单,两者使用上差不多。使用这两个工具解析
JSON阅读器:DiscordPy GuildData管理模块重要信息: / data文件夹必须存在常用术语: 键:要保存/从中提取的文件名(存储为guild_KEY.json)公会:公会的ID(自动转换为字符串)职能create_file()创建一个密钥...
var reader = new Ext.data.JsonReader({totalProperty:'totalProperty',root:'root'},record); store = new Ext.data.Store({ proxy:proxy, reader:reader }); //尾 分页 var pagebar = new Ext....
本支持库实现了对JSON格式数据的解析支持。 操作系统支持: Windows
LotusScript及公式是Lotus Notes提供的一个完整的编程接口,是一种与BASIC兼容的程序设计语言。可以根据需要在NOTES的任意对象中附加LotusScript语句和公式。 LotusScript是一个完全面向对象的程序设计语言,...
json是移动平台上非常常用的数据传输格式,本示例提供了两种Json格式文件生成与解析的方式。 第一种通过JsonReader和JsonWriter两个对象进行json文件的读写操作,需要sdk在11以上。 第二种通过JSONArray、JSONObject...