[Silverlight]奇技银巧系列-2

Silverlight奇技银巧系列:

所有该系列中的文章只为介绍一些Silverlight中或隐藏在Silverlight .NET framework鲜为人知的知识和技巧。这些文章并非教程,也是不是什么技术指导,您只需对文章介绍的内容保有印象。这些知识和技巧也许会在不经意间绽放银色光芒。

我想对于搞web开发的人来说,JSON应该是相当亲切而熟悉的字眼。

直到.NET Framework3.5,在.NET中处理JSON才变得轻松一些,而JSON.NET这类的辅助项目也让.NET对JSON处理锦上添花。没记错的话是Json.NET3.0提出了JObject的概念,那真的很爽…

虽然Json.NET最近也推出了支持Silverlight的类库项目,不过对于Silverlight这种客户端的东西,多弄个dll进去难免影响初始化(下载)速度,对于有“洁癖”的你我来说着实不够尽善尽美。

不过System.Json拯救了我们。在Silverlight中,这个程序集提供了对JSON类型数据的支持,有了它你就可以使用c#或者vb.net代码处理Json对象了。

该命名空间下包含4个类:

  • JsonValue

其他三个类的基类。它提供了用来处理string和stream的Load()、Save()、Parse()等方法。它的ToString()方法被重载,用来以字符串形式显示原始Json.

  • JsonPrimitive

用来将CLR中的原始类型(如byte,string和int等)处理为Json。它一般这么用:

var jInt = new JsonPrimitive(25);
var jString = new JsonPrimitive("abc");
var jDouble = new JsonPrimitive(3.14);

  • JsonArray

该类代表一个JsonValue类型的数组。参照上面例子中的的JsonPrimitive,JsonArray可以这样构造:

var ar = new JsonArray { jInt, jString, jDouble };

自然,ToString()以后就变成这个模样了:

image

  • JsonObject

用来表现键值对集合,它可以这样构造:

var ob = new JsonObject {{"jInt", jInt}, {"jString", jString}, {"jDouble", jDouble}
};

ToString()以后:

image

最后说一下JsonType枚举,该枚举包括

  • Array
  • Bollean
  • Number
  • Object
  • String

它由JsonValue的JsonType属性返回,反映该JsonValue的实例所代表的对应CLR属性的类型。

System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.AppendLine("JInt的JsonType:" + jInt.JsonType);
sb.AppendLine("jString的JsonType:" + jString.JsonType);
sb.AppendLine("jDouble的JsonType:" + jDouble.JsonType);
sb.AppendLine("ar的JsonType:" + ar.JsonType);
sb.AppendLine("ob的JsonType:" + ob.JsonType);
outputBlock.Text = sb.ToString();

 

image

转载于:https://www.cnblogs.com/024hi/archive/2009/09/15/1567256.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好程序员Java分享Java案例_英汉字典

在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例:   实现功能: …

同事更新几个表_最近计划学习的几个网站资源

在没有明确需要的时候逛知乎,B站什么的随便看教程,发现资源很多,五花八门,但是总也没系统地学习一下。一会儿看一小段,转眼就忘光了,只留下一个刚才我没有在玩耍的错觉。以上是无关紧要的忏悔。接下来主要记…

带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)

在本篇文章中,将与大家分享如何将一个带有托管代码(manage code)的InfoPath2007表单模版发布到SharePoint Server2007的表单库中,并使得最终用户可以通过浏览器方式访问。 1. 创建InfoPath表单模版 在这里,我们使用VSTO2005与InfoPath2007。生成…

cefsharp System.IO.FileNotFoundException: 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。...

解决办法 安装vc 2015 Redistributable 64位系统安装x64 如果还报错先装x64版本再装x86版本 https://files.cnblogs.com/files/xuejianxiyang/vc_redist.part1.rarhttps://files.cnblogs.com/files/xuejianxiyang/vc_redist.part2.rarhttps://files.cnblogs.com/files/xuejianx…

7种常用p2p共享协议

一、Napster:第一个大型的;中央集中式;倒闭了;二、Gnutella和Gnutella2:开源的;第一个真正非中心的。Gnutella2是对Gnutella的改进和扩展。三、FastTrack:第一个客户端是KazaA。协议与Gnutella类…

c++中怎么数组内有用元素的个数_前端面试(算法篇) - 数组乱序

一、面试题问:有一个长度为 100 的数组,如何从中随机挑选 50 个元素,组成一个新的数组?答:这个...那个...emmmmmm问:那先不挑 50 个,就挑一个数,知道怎么做吗?答&#xf…

axios+Vant+vue+jq重构jq月经周期计算器源代码(兼容移动端)

我是歌谣 代码重构不易 公众号关注小歌谣 前言 网络上流行了一款jq生成月经计算器的代码 是这样的 实现效果如图所示 本次讲解就是说明如何用VantjqVue实现此代码的重构 先看一眼重构演示的效果 这个是可以直接进行接口调用的 首先我们看一眼目录结构 我们这边贴出我自己手…

html页面高度设为自动,html – CSS:响应式布局中的高度自动问题

没有固定的正确高度.如果我在css中设置固定高度,则在响应式布局中,图像将不会以正确的宽高比调整大小.主要问题是css根据src-attribute设置的图像计算自动高度和宽高比,而不是width-和height-attribute.因此,如果有一个有宽度和高度的真实图像,一切正常.但是如果有一个空白(这只…

MVC Controller与ActionResult的返回值

Action的要求• 必须是一个公有方法• 必须返回ActionResult类型• 必须是实例方法• 不能是范型方法• 没有标注NonActionAttribute• 不能被重载(overload) Controller 提供了众多的方法让我们返回各种类型的 ActionResult。 1. View最常用的一种&…

事务处理

第13章 事务处理 事务处理是包含一个或多个任务的一组关联操作的提交或回滚操作。在事务执行的过程中,保证事务具有基本的ACID属性(原子、一致性、隔离和持久性)。.NET Framework的事务管理支持多种事务处理方式,包括显性事务和隐…

为多孔介质的当量直径_多孔介质流建模简介

拥有一款先进的多孔介质建模工具,是许多行业的刚性需求。COMSOL Multiphysics 软件 5.5 版本新增的附加产品——多孔介质流模块,可以满足众多行业的需求。使用该模块可以定量研究多孔介质中的质量、动量和能量传递。该模块适用于燃料电池、纸浆和纸张干燥…

北航计算机网络 传输层实验,北航研究生计算机网络实验_实验七 传输层实验

** 这个实验我没有约到没有问题的机子(连续三台机子都是坏的...)因此仅供参考1、根据2.6中步骤3回答:TCP的连接和建立采用的是:三次握手方式,PCA是主动打开方(C),PCB是被动打开方(S)。先点击发送再点击接收,会出现什么…

python 竖线 绘图_Python可视化 | Seaborn5分钟入门(二)——barplot countplot

Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。注:所有代码均在IP…

计算机网络工程综合布线目的,弱电工程综合布线系统与计算机网络布线系统有何不同?【网络综合布线】...

弱电工程的综合布线是模块化和灵活的建筑物或建筑物之间的信息传输通道。 综合配电系统可以连接到声音设备、数据设备、开关设备和各种控制设备和信息管理系统。 同时,它还使这些设备与外部通信网络连接起来。弱电工程综合布线系统与计算机网络布线系统有何不同..弱…

计算机专硕专业课单科分数线,计算机考研|这两所自划线,单科没过线也能复试?...

原标题:计算机考研|这两所自划线,单科没过线也能复试?东南、浙大!单科没过线也能复试!关注量子考研公众号,获取最新计算机考研咨询1.东南大学:统考考生(不含报考苏州联合研究生院考生和管理类联…

Saltstack_使用指南17_salt-ssh

1. 主机规划 salt 版本 1 [rootsalt100 ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [rootsalt100 ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) salt ssh文档 https://docs.saltstack.com/en/latest/topics/ssh/index.html 2. salt-ssh实现步骤 2.1. 部署s…

新手入门:AIX操作系统安装图解

AIX(Advanced Interactive Executive)是IBM 公司的UNIX操作系统,它特别适合于做关键数据处理。2002年IBM发布了AIX 5.2版。 下面就以该版本为例来介绍IBM的AIX操作系统的安装,主要介绍在IBM P630机器上如何使用AIX软件的光盘&…

华为荣耀9x怎么解账户锁_麒麟820,4000万像素,荣耀X10是下一部千元街机?

哈喽黑粉们,欢迎来到黑马公社。最近发布的新机很多,其中之一就是黑马此前和大家聊过多次的荣耀X10。这款新机于昨天5月20日发布,表现怎么样呢?今天黑马就来聊聊这款新机。和此前爆料的一样,荣耀X10采用了升降式设计&am…

关键词提取算法

1、先给本聚类内的所有文档进行分词,然后用一个字典保存每个词出现的次数;2、遍历每个词,得到每个词在所有文档里的IDF值,和在本聚类内出现的次数(TF)相乘的值;3、用一个字典(key是词,value是TF*IDF权重)来…

JavaWeb的分页

1.什么是分页 第N页/共M页 首页 上一页 1 2 3 4 5 6 7 8 9 下一页 尾页 [ ] go 分页的优点:只查询一页,不用查询所有页! 2.分页数据 页面的数据都是由Servlet传递过来的! Servlet: 1.*当前页:pageCod…