extjs DataReader、JsonReader、XmlReader的构造方法

ExtJS提供了三种数据读取器(DataReader):JsonReader、XmlReader、ArrayReader。其中JsonReader与XmlReader是最常用的两种,它们可以将Json和Xml数据解析成ExtJS中的数据集合(store).

DataReader是一种工具,用于将来自服务器的响应数据解析成更易于在ExtJS中使用的格式。各个类型的数据读取器,其构造方法参数不完全相同。下面分别介绍三种数据读取器的构造方法。

JsonReader

构造方法

Ext.create('Ext.data.JsonReader', {
    type: 'json',   // 告知reader,传入的数据是json格式的
    rootProperty: 'users',   // 定义json数据位置
    fields: ['name', 'email']   // 表示数据列
});

JsonReader是将Json数据转换成ExtJS可以使用的数据格式。构造方法参数说明:

  • type:数据类型,此处为json

  • rootProperty:从响应数据中读取数据的根属性名称,例如取下面这个例子的users属性;

  • fields:列的定义,定义了从服务器传回的json数据数组中要读取的列名和ExtJS store定义时的数据列名字一一对应。

接下来看一个实际例子:

Ext.create('Ext.data.JsonReader', {
    type: 'json',
    rootProperty: 'users',
    fields: ['name', 'age', 'email']
});

// 假设后端传回的Json响应数据格式如下:
{
    "total": 2,
    "users": [{
            "name": "Tom",
            "age": "18",
            "email": "tom@example.com"
        },
        {
            "name": "Jerry",
            "age": "20",
            "email": "jerry@example.com"
        }
    ]
}

XmlReader

构造方法

Ext.create('Ext.data.XmlReader', {
    type: 'xml',  // 告知reader,传入的数据是xml格式的
    record: 'book',   // 定义数据集合位置
    fields: [   // 定义读取的数据列
        {
            name: 'id',
            mapping: 'book > id'
        }, {
            name: 'title',
            mapping: 'book > title'
        }, {
            name: 'author',
            mapping: 'author'
        }
    ]
});

XmlReader是将Xml数据转换成ExtJS可以使用的数据格式。构造方法参数说明:

  • type:数据类型,此处为xml

  • record:从响应数据中读取数据的根节点,例如取下面这个例子的book节点;

  • fields:列的定义,通过name定义将会在ExtJS store定义时使用的列名字,mapping定义用于从服务器传回的xml数据中读取数据的XPATH。

接下来看一个实际例子:

Ext.create('Ext.data.XmlReader', {
    type: 'xml',
    record: 'book',
    fields: [
        {
            name: 'id',
            mapping: 'book > id'
        }, {
            name: 'title',
            mapping: 'book > title'
        }, {
            name: 'author',
            mapping: 'author'
        }
    ]
});

// 后端传回的Xml响应数据如下:
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <book>
        <id>1</id>
        <title>ExtJS入门教程</title>
        <author>张三</author>
    </book>
    <book>
        <id>2</id>
        <title>ExtJS高级教程</title>
        <author>李四</author>
    </book>
</root>

DataReader

除了JsonReader和XmlReader,ExtJS还提供了一个更灵活的DataReader类型,可以在处理更为特殊的数据源时使用。ArrayReader继承于DataReader,它可以将数组类型的数据转换成数据集合。

构造方法

Ext.create('Ext.data.ArrayReader', {
    fields: ['name', 'email']
});

ArrayReader的构造方法参数比较简单,只有一个fields参数。fields表示要读取的数据列名,每个数据列使用一个字符串表示。

接下来看一个实际例子:

Ext.create('Ext.data.ArrayReader', {
    fields: ['name', 'email']
});

// 假设后端传回的数据格式如下:
[
    ["John", "john@example.com"],
    ["Smith", "smith@example.com"]
]

以上是ExtJS三种数据读取器的构造方法的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:extjs DataReader、JsonReader、XmlReader的构造方法 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • 使用c#+IMap实现收取163邮件

    接下来我将详细讲解使用c#+IMap实现收取163邮件的完整攻略,过程中将会提供两个示例。 总体思路 使用c#语言中的IMAP协议连接到163邮箱服务器,借助IMAP协议提供的标准API实现邮件收取操作。具体来说,主要分为以下3个步骤: 登录邮箱服务器 选择目标邮箱进行收取操作 获取邮件列表并解析邮件内容 下面我将对每个步骤进行详细讲解。 登录邮箱服务器 首…

    C# 2023年5月15日
    00
  • C#简单判断字符编码的方法

    C# 中判断字符编码的方法可以使用 Encoding 类的 GetEncoding 方法,该方法可以将一个编码名称或编号转换为一个 Encoding 对象。接下来将详细讲解如何使用该方法来判断字符编码。 获取字符的字节数组 在判断字符编码之前,我们需要先将字符串转换为其字节数组,可以使用 Encoding 的 GetBytes 方法来实现。以下是一个简单的示…

    C# 2023年6月7日
    00
  • Unity通过代码修改按钮点击效果

    下面我将为您详细讲解Unity通过代码修改按钮点击效果的完整攻略,包含两条示例说明。 一、Unity通过代码修改按钮点击效果的步骤 1.创建UI按钮 首先,在Unity中创建一个UI按钮。具体步骤:GameObject -> UI -> Button。 2.添加响应代码 选中按钮,进入Inspector面板,在“On Click()”中点击”+”…

    C# 2023年6月3日
    00
  • C#请求http向网页发送接收数据的方法

    下面是“C#请求http向网页发送接收数据的方法”的完整攻略。 使用HttpClient发送HTTP请求 C#中可以使用HttpClient对象发送HTTP请求,该对象位于System.Net.Http命名空间中。 首先需要在C#项目中引入System.Net.Http命名空间: using System.Net.Http; 然后创建HttpClient对象…

    C# 2023年5月31日
    00
  • 如何在C#项目中链接一个文件夹下的所有文件详解

    当我们需要在C#项目中链接一个文件夹下的所有文件时,可以通过以下方式实现: 在 Visual Studio 中创建 C# 项目。选择 “File” > “New” > “Project”,然后选择 “Visual C#” > “Windows” > “Console Application”。 在项目中添加文件夹。右键项目,选择 “A…

    C# 2023年6月1日
    00
  • ASP.NET动态生成静态页面的实例代码

    下面是ASP.NET动态生成静态页面的实例代码的完整攻略: 1. 创建ASP.NET Web应用程序 首先需要创建ASP.NET Web应用程序,在Visual Studio中创建一个新的Web应用程序项目,选择ASP.NET Web应用程序模板。可以选择任何项目模板,只要支持使用C#或VB.NET编写代码就可以了。 2. 设计HTML模板 设计一个HTML…

    C# 2023年5月31日
    00
  • C# 压榨cpu的办法(推荐)

    下面是” C# 压榨cpu的办法(推荐) “的完整攻略: 概述 在一些需要高性能的场景下,我们需要在C#代码中尽可能地提高程序的CPU利用率。通过使用一些技巧可以让我们的程序充分利用CPU资源,提高性能。 如何压榨CPU 下面我们介绍一些压榨CPU的办法: 1. 紧密计算 紧密计算是一种流程控制的方式,其目的是在尽量少的时间内进行更多的计算,从而提高CPU的…

    C# 2023年6月6日
    00
  • ASP.NET Core配置文件的获取和设置

    ASP.NET Core配置文件的获取和设置 在ASP.NET Core应用程序中,我们经常需要使用配置文件来存储应用程序的配置信息。本攻略将详细介绍如何获取和设置ASP.NET Core配置文件。 获取配置文件 我们可以使用ASP.NET Core中的Configuration API来获取配置文件。我们可以使用以下代码来获取配置文件: using Mic…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部