在.NET解析json有很多方法,这里介绍最简单也用的最多的一种。

一、添加引用

解析Json,先下载开源控件 Newtonsoft.Json.dll

下载地址:http://files.cnblogs.com/gosky/Newtonsoft.Json%E9%9B%86%E5%90%88.zip

解压以后,在bin/Net20/中找到Newtonsoft.Json.dll复制到项目的bin目录下

二、引用命名空间

  1. using Newtonsoft.Json.Linq;
  2. using Newtonsoft.Json;

三、使用方法

Json格式如下:jsonStr:{"errcode":40013,"errmsg":"invalid appid"}

  1. //创建JObject对象
    JObject jo = (JObject)JsonConvert.DeserializeObject(jsonStr);
    string errcode = jo["errcode"].ToString();
    string errmsg = jo["errmsg"].ToString();

四、解析xml

在.NET2.0中解析XML需要使用的命名空间是:System.Xml;

1.引用

  1. using System.Xml;

2.解析

要解析的xml如下:这里引用了微信接口中的文本消息报文格式。

  1. <xml>
  2. <ToUserName><![CDATA[gh_4c30545b3c2d]]></ToUserName>
  3. <FromUserName><![CDATA[o5cnujvIjKiGo4hgWiRCYtR73owM]]></FromUserName>
  4. <CreateTime>99999999</CreateTime>
  5. <MsgType><![CDATA[text]]></MsgType>
  6. <Content><![CDATA[长江尚品]]></Content>
  7. <MsgId>1234567890123456</MsgId>
  8. </xml>

解析语法:

  1. XmlDocument doc = new XmlDocument();
  2. doc.LoadXml(xml);
    //获取xml根节点
  3. XmlNode root = doc.FirstChild;
    string ToUserName =  root.SelectSingleNode("ToUserName").InnerText;
    string FromUserName = root..SelectSingleNode("FromUserName").InnerText;
    ·········
    //解析方法同上

也可以这样解析:

  1. //解析数据
  2. XmlDocument doc = new System.Xml.XmlDocument();
  3. doc.LoadXml(requestXml);
  4. XmlNode node = doc.SelectSingleNode("/xml/ToUserName");
  5.  
  6. if (node != null){
  7.  
  8.   XmlCDataSection section = node.FirstChild as XmlCDataSection;
      if(section!=null){
        string ToUserName = section.Value;
      }
    }

两种方法都可以。

在.NET2.0中解析Json和Xml的更多相关文章

  1. 【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化

    谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询 ...

  2. ASP.NET Web API中的JSON和XML序列化

    ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...

  3. Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

    前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET W ...

  4. 【IHttpHandler】在ASP.Net2.0中使用UrlRewritingNet实现链接重写

    很多时候我们需要链接转向(Url Rewriting),例如二级域名转向.文章访问链接等场合. 让我们看两个例子: 1 你现在看到的当前作者的博客园的域名: http://jx270.cnblogs. ...

  5. C#解析json和xml数据

    C#解析json和xml数据 // 用到的包using Newtonsoft.Json; // using Newtonsoft.Json.Linq; const string value = &qu ...

  6. JavaScript中解析JSON --- json.js 、 json2.js 以及 json3.js的使用区别

    JSON官方(http://www.json.org/)提供了一个json.js,json.js是JSON官方提供的在JavaScript中解析JSON的js包,json.js.json2.js.js ...

  7. Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面

    一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...

  8. 面试官问我:如何在 Python 中解析和修改 XML

    摘要:我们经常需要解析用不同语言编写的数据.Python提供了许多库来解析或拆分用其他语言编写的数据.在此 Python XML 解析器教程中,您将学习如何使用 Python 解析 XML. 本文分享 ...

  9. hive中解析json数组

    -- hive中解析json数组 select t1.status ,substr(ss.col,,) as col ,t3.evcId ,t3.evcLicense ,t3.evcAddress , ...

随机推荐

  1. Xshell5最新版激活

    Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机. 以上内容全部为广 ...

  2. 树莓派安装3.5inch RPi LCD (A)显示屏

    3.5inch RPi LCD (A) 资料 产品介绍 用户手册 开发资料 开发软件 树莓派镜像 演示视频 FAQ 在自定义Raspbian系统镜像上怎么使用树莓派LCD? 先确保自定义镜像可正常进入 ...

  3. jsp+javaBean 计算器实例

    package com.wzh.test.domain; import java.math.BigDecimal; public class CalculatorBean { private Stri ...

  4. expdp和impdp的用法

    源地址:http://blog.chinaunix.net/uid-23622436-id-2394094.html

  5. oracle常用的数据迁移方法

    源地址:http://wenku.baidu.com/link?url=lI6UYpvDs_y8ku6DytEZLl4GSJjQ0GAGPvv8txrbRoQKgqzTCMAfBZI5mn9t-KQk ...

  6. dedecms v5.7 sp1 给栏目添加缩略图功能

    一.给数据库添加字段typeimg 如图:   二 . 修改 dede/catalog_add.php 找到 $in_query = "INSERT INTO `#@__arctype`(r ...

  7. 安装程序无法复制文件 convlog.exe的解决方法

    在安装的时候出现一个错误提示“安装程序无法复制文件CONVLOG.EX_”,上网找了很多资料,都说是因为版本问题,考虑到自己的服务器安装的是2003 SP1,后来打了补丁到SP2的,也就认为是版本问题 ...

  8. topngroupcollector

    分类的字段int f1 /* key: f1 * value: doc * size: top n */ map<int, doc>() if(map.size==n) buildOrde ...

  9. sikuli常用方法学习

    Screen s = new Screen(); 1.在文本框中填入文本 以下两个方法都可以 type是用来在文本框中输入指定的文本 paste是用来在文本框中复制指定的文本 s.type(imgpa ...

  10. java异常处理机制throws

    throws可以在方法声明时抛出的异常.原则上throws声明的异常,一定要在该方法中抛出,否则没有意义. 相反的,若方法中我们主动通过throw抛出一个异常,应该在throws中声明该种类异常,通知 ...