DataContractJsonSerializer是.NET自带的类,在解析JSON格式的时候使用起来方便快捷,至于生成方面由于暂时没用到就没去看了。使用需要引用System.Runtime.Serialization。

在知道需要解析JSON格式的情况下,根据JSON格式构建一个类,而后使用DataContractJsonSerializer读取JSON文本,即完成解析。同时使用JSON格式构建的类,在使用修改时都极为方便。

需要解析的JSON字符串:

{
"result": {
"heroes": [
{
"name": "npc_dota_hero_antimage",
"id": 1,
"localized_name": "敌法师"
},
{
"name": "npc_dota_hero_axe",
"id": 2,
"localized_name": "斧王"
},
{
等等
}
]
,
"count": 108
}
}

代码示例:

Heroes类

    [DataContract]
class Heroes
{
[DataMember]
public Hero[] heroes { get; set; }
[DataMember]
public int count { get; set; }
[DataMember]
public String testString { get; set; } //测试
[DataMember]
public int testInt { get; set; } //测试 }
[DataContract]
class Hero
{
[DataMember]
public String name { get; set; }
[DataMember]
public int id { get; set; }
[DataMember]
public String localized_name { get; set; }
}

解析代码:

            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Heroes));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(JSON文本));
Heroes heroes = serializer.ReadObject(ms) as Heroes;

而后可以通过heroes.count,heroes.heroes[].name,heroes.testString来读取对应的信息。由于testString,testInt在需要解析的JSON文本中不存在,因此值分别为null和0,而不是在生成的时候报错。这样就可以用在,可能返回多种格式JSON的情况下。

WP8解析JSON格式(使用DataContractJsonSerializer类)(推荐)的更多相关文章

  1. WP8解析JSON格式(使用Newtonsoft.Json包)

    DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式. 这里举一个简单的解析JSON格式的例子(更多JSON操作): { "response&q ...

  2. 解析json格式数据

    实现目标 读取文件中的json格式数据,一行为一条json格式数据.进行解析封装成实体类. 通过google的Gson对象解析json格式数据 我现在解析的json格式数据为: {",&qu ...

  3. 用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  4. $Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  5. 使用google的GSON解析json格式的数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  6. 在论坛中出现的比较难的sql问题:36(动态行转列 解析json格式字符串)

    原文:在论坛中出现的比较难的sql问题:36(动态行转列 解析json格式字符串) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.

  7. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  8. Python3基础 json.loads 解析json格式的数据,得到一个字典

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Scala解析Json格式

    Scala解析Json格式 代码块 Scala原生包 导入包 import scala.util.parsing.json._ def main(args: Array[String]): Unit ...

随机推荐

  1. MySQL中的常用工具

    一.mysql 客户端连接工具 二.myisampack MyISAM表压缩工具 三.mysqladmin MySQL管理工具 四.mysqlbinlog 日志管理工具 五.mysqlcheck My ...

  2. 云服务器 Centos7.0 部署

    CentOS安装jdk的三种方法 http://www.mamicode.com/info-detail-613410.html centos Linux下安装Tomcat和发布Java的web程序 ...

  3. AlloyTouch插件

    1.老样子引入js <script src="js/transform.js"></script> <script src="js/allo ...

  4. selenium webdriver 右键另存为下载文件(结合robot and autoIt)

    首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...

  5. DIR 按文件名中数字大小进行排序

    @echo off set arg=%1 if "%arg%" == "" set arg=* if "%arg%" == "-h ...

  6. JS Date.parse() 函数详解

    Date.parse()函数用于分析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的毫秒数. 该函数属于Date对象,所有主流浏览器均支持该函数. 语法 Date.pa ...

  7. QQ聊天界面模式切换

    1.打开一个聊天窗口 2.按照图上步骤 3.模式 3-1气泡模式 3-2文本模式

  8. Ruby混合类型

    当一个类拥有可以从多个父类继承的特点,类应该显示多重继承. Ruby没有直接支持多继承,但Ruby模块有另一个精彩使用.他们几乎消除多重继承的需要,提供了一个工厂,称为混入. 混合类型给一个精彩的控制 ...

  9. Java笔记:修饰符

    Synchronized 修饰符 Synchronized 关键字声明的方法同一时间只能被一个线程访问.Synchronized 修饰符可以应用于四个访问修饰符. 实例 public synchron ...

  10. webstorm基础使用总结

    webstorm基础使用总结(不仅仅是一堆快捷方式) 注:原文链接: 水车 :  本次写的内容是我想到那个就写那个,都是本人平时写代码的时候的一些习惯,未必是最好的,贵在交流! 1:  shift+e ...