`
hzs275481430
  • 浏览: 18273 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

是用Jayrock后台操作Json数据

阅读更多

所谓Json数据,其实就是js里面 字符字面量 和 对象字面量 的组合而已。
形如:
{
    "name" : "n",
    "value" : "10",
    "id" : "1",
    "items" : [
       {"key1" : "value1"},
        {"key2" : "value2"}
    ]
}
的数据
在js里面可以直接用eval将这串文本生成数组或对象的实例

下面主要简单描述一下在.net里面是用Jayrock操作json数据的方法。
jayrock是一个开源的.net库,采用C# 1.1开发。 该库在.net 2.0里面仍可以正常是用。 之所以选择这个库主要是因为它是开源的,碰到问题可以直接找源代码看,比较容易定位错误。
下载地址:http://jayrock.berlios.de/#quick-start 

编译好的有2个dll, Jayrock.Json.dll 和 Jayrock.dll。 如果只想是用它的json功能, 就只是用Jayrock.Json.dll已经足够了!

Jayrock.Json 库里面比较重要的几个对象: 首先是:JsonConvert,其次是:JsonReader 和JsonWriter 等(这些类的使用方法类似xml类)

下面介绍主要介绍一下对JsonConvert的使用

1.引用命名空间:
using Jayrock.Json;
using Jayrock.Json.Conversion;

主要代码

string json_config = @"
        {
            'Name' : 'my-config',
            'Desc' : 'test',
            'Inputs' : [
                {
                    'Name' : 'mobile',
                    'Desc' : '手机',
                    'InputType' : 'Mobile',
                    'Default_Value' : '133'
                }
                     ]
        }
";
        Response.Write(
"read json data by JsonConvert.Import!<br>");
        
string separator = new string('-'100+ "<br>";
        Response.Write(separator);

        Response.Write(
"读入到指定类:<br>");
        Config config 
= JsonConvert.Import(typeof(Config), json_config) as Config;

        Response.Write(
"config   name: " + config.Name + "<br>");

        Response.Write(
"config   desc: " + config.Desc  + "<br><br>");

        Input input 
= config.Inputs[0];
        Response.Write(
"config   input-name: " + input.Name + "<br>");

        Response.Write(
"config   input-desc: " + input.Desc + "<br>");

        Response.Write(
"config   input-type: " + input.InputType + "<br>");

        Response.Write(separator);
        Response.Write(
"读入到JsonObject对象:<br>");

        JsonObject jo 
= JsonConvert.Import(json_config) as JsonObject;
        Response.Write(
"config   name: " + jo["Name"+ "<br>");

        Response.Write(
"config   desc: " + jo["Desc"+ "<br><br>");

        JsonArray ja 
= jo["Inputs"as JsonArray;
        
foreach(JsonObject o in ja)
        
{
            Response.Write(
"config   input-name: " + o["Name"+ "<br>");

            Response.Write(
"config   input-desc: " + o["Desc"+ "<br>");

            Response.Write(
"config   input-type: " + o["InputType"+ "<br>");

        }

        Response.End();

注意,第二种方法,由于是采用以key做索引的方式,因此必须和json数据中的key大小写一致!

输出页面是:

read json data by JsonConvert.Import!
----------------------------------------------------------------------------------------------------
读入到指定类:
config name: my-config
config desc: test

config input-name: mobile
config input-desc: 手机
config input-type: Mobile
----------------------------------------------------------------------------------------------------
读入到JsonObject对象:
config name: my-config
config desc: test

config input-name: mobile
config input-desc: 手机
config input-type: Mobile

分享到:
评论

相关推荐

    Jayrock.Json.dll

    Jayrock.Json中基本是以JsonArray和JsonObject的转换来实现以键值方式读取json数据,我是将取得的数据放入DataTable中,后来想想这样也有好处,前台的UI可以随意设计,最终绑定到DataTabel即可。

    asp.net JSON Jayrock Newtonsoft

    Jayrock.Json的使用相对简单,它提供了JsonConfiguration类来配置序列化行为,并通过JsonRuntime和JsonExporter类进行实际的数据转换。 Newtonsoft.Json,又称为Json.NET,是James Newton-King开发的另一款广受欢迎...

    Jayrock(json字符串解析)

    string jsonString = Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); return jsonString; } /// &lt;summary&gt; /// /// JSON反序列化 /// /// &lt;/summary&gt; public static T JsonDeserialize(string json...

    Jayrock

    Jayrock开源项目实现了Json对象序列化,后台逻辑的远程调用,方便你将一些成熟的js框架(如ext)添加到项目中来。 压缩包中包含Jayrock.dll、Jayrock.Json.dll、json.js,若要找寻完整的例子,官方下载地址为:...

    Jayrock及实例

    JSON-RPC使用JSON(JavaScript Object Notation)作为数据交换格式,因为JSON具有简洁、易于理解和解析的特性,所以广泛应用于分布式系统中的跨语言通信。 在"Jayrock及实例"这个主题中,我们主要关注的是如何使用...

    ASP.Net_JoyrockDemo

    在JavaScript中,你可以使用JSON.parse()解析JSON字符串,或者用JSON.stringify()将JavaScript对象转换成JSON格式。 在ASP.NET中实现异步通信,通常是为了提高用户体验,避免用户等待服务器响应时页面冻结。在ASP...

    json2.js压缩包

    《json2.js:JavaScript中的JSON解析与序列化》 在Web开发中,JSON(JavaScript Object ...理解并熟练运用JSON.parse()和JSON.stringify(),可以帮助我们更有效地在JavaScript环境中进行数据的序列化和反序列化操作。

    Joyrock Asp.net Demo

    【标题】"Joyrock Asp.net Demo"是一个基于...这个示例项目对于那些想要学习如何在.NET平台上使用JSON和实现异步处理的开发者来说,是一个宝贵的资源。通过实际操作和调试这个项目,可以深化对相关技术的理解和应用。

    使用AJAX(Ext JS),JSON(Jayrock)和LINQ滚动数据分页

    Jayrock使得.NET应用程序能够与使用JSON协议的其他服务进行通信,简化了跨平台的数据交换。 LINQ(Language Integrated Query,语言集成查询)是.NET Framework 3.5引入的一个强大的查询工具,特别适合处理数据集合...

    asp.netToJson 转换类的源代码(CS)

    - `jayrock`:JayRock是另一个.NET下的JSON编解码器,可以将.NET对象转换为JSON格式或反向操作。 在"asp.netToJson转换类"的源代码中,我们可以期待看到以下关键部分: 1. `序列化`方法:将C#对象转换为JSON字符串...

    Jayrock-开源

    相反,JSON解码器可以接收JSON字符串并将其解析成.NET对象,这样就可以在.NET环境中直接操作这些数据。JSON-RPC组件则扩展了这一功能,允许以远程调用的方式执行服务器上的方法,使得客户端可以像调用本地方法一样...

    玩转linq.js 文章 源码

    LINQ.js是由Jayrock团队开发的一个开源库,它将C#中的LINQ概念移植到JavaScript中,使开发者可以使用类似于SQL的查询语法来处理JavaScript数组和对象。这极大地提高了代码的可读性和可维护性,尤其是在处理复杂的...

    Generic-API-Client:用 PHP 编写的具有基本 HTTP 支持的通用 API 客户端

    通过cURL或sockets HTTP 传输支持JSON-RPC或REST API 端点 $ options = array ( 'uri' =&gt; 'http://www.raboof.com/projects/jayrock/demo.ashx' , 'jsonrpc' =&gt; '2.0' );$ client = new \ Client \ JsonRPC ( $ ...

    控制台+学生管理系统+三层架构

    * 数据库(文本) ↑ DAL(DATA Access Layer) 数据存取层 --DLL ↑ BLL(BusinessLogicalLayer)交换逻辑层 --DLL ↑ UIL(UserInterfaceLayer)用户接口层 --调用

Global site tag (gtag.js) - Google Analytics