首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

是用Jayrock后台老板操作Json数据

2012-11-25 
是用Jayrock后台操作Json数据所谓Json数据,其实就是js里面 字符字面量 和 对象字面量 的组合而已。形如:{??

是用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;

主要代码

是用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数据????????是用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

热点排行
Bad Request.