是用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.dllJayrock.dll。 如果只想是用它的json功能, 就只是用Jayrock.Json.dll 已经足够了!

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

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

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

主要代码

是用Jayrock后台操作Json数据 string  json_config  =   @"
是用Jayrock后台操作Json数据        {
是用Jayrock后台操作Json数据            'Name' : 'my-config',
是用Jayrock后台操作Json数据            'Desc' : 'test',
是用Jayrock后台操作Json数据            'Inputs' : [
是用Jayrock后台操作Json数据                {
是用Jayrock后台操作Json数据                    'Name' : 'mobile',
是用Jayrock后台操作Json数据                    'Desc' : '手机',
是用Jayrock后台操作Json数据                    'InputType' : 'Mobile',
是用Jayrock后台操作Json数据                    'Default_Value' : '133'
是用Jayrock后台操作Json数据                }
是用Jayrock后台操作Json数据                     ]
是用Jayrock后台操作Json数据        }
" ;
是用Jayrock后台操作Json数据        Response.Write(
" read json data by JsonConvert.Import!<br> " );
是用Jayrock后台操作Json数据        
string  separator  =   new   string ( ' - ' 100 +   " <br> " ;
是用Jayrock后台操作Json数据        Response.Write(separator);
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(
" 读入到指定类:<br> " );
是用Jayrock后台操作Json数据        Config config 
=  JsonConvert.Import( typeof (Config), json_config)  as  Config;
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(
" config   name:  "   +  config.Name  +   " <br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(
" config   desc:  "   +  config.Desc   +   " <br><br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Input input 
=  config.Inputs[ 0 ];
是用Jayrock后台操作Json数据        Response.Write(
" config   input-name:  "   +  input.Name  +   " <br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(
" config   input-desc:  "   +  input.Desc  +   " <br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(
" config   input-type:  "   +  input.InputType  +   " <br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(separator);
是用Jayrock后台操作Json数据        Response.Write(
" 读入到JsonObject对象:<br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        JsonObject jo 
=  JsonConvert.Import(json_config)  as  JsonObject;
是用Jayrock后台操作Json数据        Response.Write(
" config   name:  "   +  jo[ " Name " +   " <br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        Response.Write(
" config   desc:  "   +  jo[ " Desc " +   " <br><br> " );
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        JsonArray ja 
=  jo[ " Inputs " as  JsonArray;
是用Jayrock后台操作Json数据        
foreach (JsonObject o  in  ja)
是用Jayrock后台操作Json数据        
{
是用Jayrock后台操作Json数据            Response.Write(
"config   input-name: " + o["Name"+ "<br>");
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据            Response.Write(
"config   input-desc: " + o["Desc"+ "<br>");
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据            Response.Write(
"config   input-type: " + o["InputType"+ "<br>");
是用Jayrock后台操作Json数据
是用Jayrock后台操作Json数据        }

是用Jayrock后台操作Json数据        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

你可能感兴趣的:(json)