所谓Json数据,其实就是js里面 字符字面量 和 对象字面量 的组合而已。 注意,第二种方法,由于是采用以key做索引的方式,因此必须和json数据中的key大小写一致!
形如:
{
????"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();
输出页面是:
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数据
热度:452 发布时间:2012-11-25 11:44:31.0
相关解决方案
- (Struts2+JSON+Ajax) XMLHttpRequest ==500如何解决
- json 解析有关问题
- struts2-json中诠注@JSON(deserialize=false)是什么用?不是阻止JSON反序列化成JAVA对象吗?求解
- 请教哪里可以上到 struts2-json-plugin-2.1.8的源文件
- java+jquery easy ui + json + struts分页例子
- ssh json jar 有关问题
- json 有关问题
- AJAX 传递数据如何样才可以是 json
- jquery.load(*json) 解析不已。求帮忙
- JSON,AJAX
- 2中,可是一直发生java.lang.NoClassDefFoundError: net/sf/json/
- json 转成 string解决办法
- json ,Map转json,全部分了
- jquery ajax+json(插件) 提交数据,让人捉摸不透的是:【部分中文显示问号】,该怎么解决
- json 序列化有错误怎么办
- JQUERY json 传值有关问题
- 获取 天候Api 返回的 json 数据
- MVC(Json) 出现提示上载
- MVC,linq,json,有关问题不知道如何描述,跪求
- json 序列化有关问题?当列名为可变数值时,如果序列化
- HttpWebRequest post json 数据,接受应该怎么获取啊
- 在于json。超级郁闷。上载了Newtonsoft.Json,可是没有JavaScriptArray属性,这是为什么呀
- 急MVC3 返回 Json 有关问题
- jquery +json +html 怎么做分页
- JSON.parse是那里定义的,小弟我在vs2008里js函数里调用了
- jqGrid json 不显示数据,该如何处理
- json 反序列化 为.net对象,该如何处理
- JQUERY AJAX JSON 有关问题 求大侠指点
- json 转成 Dataset 保存到数据库,该怎么处理
- json[0].CodeID值为undefined解决方法