.net Json和Xml解析

引言

   Json和Xml是现在跨平台传输数据的主流格式,关于它们的解析,网上资料很多,我稍作整理,写成一个小demo,方便日后使用.

JSON解析

    能进行json解析的类库有很多,例如JavaScriptSerializer,DataContractJsonSerializer和开源类库Newtonsoft.Json.这里使用Newtonsoft.Json作个演示.

1.定义示例的类

   public class Data
    {
        public string Name { get; set; }
        public int Jobnum { get; set; }
        public DateTime Date { get; set; }
    }

2.调用静态类JsonConvert进行序列化和反序列化,很简单,代码如下

          List<Data> datas = new List<Data>();
          datas.Add(new Data { Jobnum = 1, Name = "张三" ,Date=DateTime.Now});
          datas.Add(new Data { Jobnum = 2, Name = "李四", Date = DateTime.Now });
          string reslut=  JsonConvert.SerializeObject(datas);
          List<Data>  dataresult =  JsonConvert.DeserializeObject<List<Data>>(reslut);

XML解析

   1.xml解析需要用到XmlSerializer类,对象类要加上[Serializable],如下

   [Serializable]
    public class Data
    {
        public string Name { get; set; }
        public int Jobnum { get; set; }
        public DateTime Date { get; set; }
    }

2.编写XMLSerialize静态解析类,代码如下

public static class XMLSerialize
    {

        public static string Serialize<T>(object obj)
        {
            XmlSerializer xml = new XmlSerializer(typeof(T));

            using (StringWriter reader = new StringWriter())
            {
                xml.Serialize(reader, obj);
                return reader.ToString();
            }
        }

        public static T DeSerialize<T>(string xmlstr)
        {
            XmlSerializer xml = new XmlSerializer(typeof(T));
            using (StringReader reader = new StringReader(xmlstr))
            {
                return (T)xml.Deserialize(reader);
            }
        }
    }

3.调用静态类XMLSerialize方法进行序列和反序列化

            List<Data> datas = new List<Data>();
            datas.Add(new Data { Jobnum = 1, Name = "张三", Date = DateTime.Now });
            datas.Add(new Data { Jobnum = 2, Name = "李四", Date = DateTime.Now });

            string xmlstr = XMLSerialize.Serialize<List<Data>>(datas);

            List<Data> obj = XMLSerialize.DeSerialize<List<Data>>(xmlstr);

小结

    本文是json和xml一个简单示例,用到了常用的解析方式,如果您有更好的方法,请不吝指教,感激不尽!

时间: 2024-10-29 19:06:36

.net Json和Xml解析的相关文章

Json和XML解析

NSXMLParse 关于XML,有两种解析方式,分别是SAX(Simple API for XML,基于事件驱动的解析方式,逐行解析数据,采用协议回调机制)和DOM(Document Object Model ,文档对象模型.解析时需要将XML文件整体读入,并且将XML结构化成树状,使用时再通过树状结构读取相关数据,查找特定节点,然后对节点进行读或写).苹果官方原生的NSXMLParse类库采用第一种方式,即SAX方式解析XML,它基于事件通知的模式,一边读取文档一边解析数据,不用等待文档全部

iOS - - JSON 和 XML解析

JSON 和 XML 一.JSON 1.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) 2.JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} 标准JSON

网络HTTP、JSON、XML解析等 复习

一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是JSON数据或者XML数据 二.基本的HTTP请求的步骤(移动客户端)1.拼接"请求URL" + "?" + "请求参数"* 请求参数的格式:参数名=参数值* 多个请求参数之间用&隔开:参数名1=参数值1&参数名2=参数值2* 比如:

iOS XML解析使用-韩国庆

欢迎-------(北京-iOS移动开发金牌教师QQ:2592675215)韩老师给你带来XML解析课程 今天给大家讲解下xml解析的第三方简单用法:首先我解释下,json和xml解析格式. JSON格式,轻量级解析,一般都是字典套数组,或者数组套字典.非常简单. XML格式,一般都是节点形式的存在如: <?xml version="1.0" ?> <students> <student name="aa" gender="男

多线程与网络之JSON和XML数据的解析

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

ios之json,xml解析

JSON解析步骤: 1.获取json文件路径 NSString*path = [[NSBundle mainBundle] pathForResource:@"Teacher"ofType:@"json"]; 2.读取文件中的data NSData *data = [NSData dataWithContentsOfFile:path]; 3.把data转化为可变数组或者可变字典 是字典还是数组要看json最外层数据是什么.NSJSONSerialization是重

ios 解析json,xml

一.发送用户名和密码给服务器(走HTTP协议) // 创建一个URL : 请求路径    NSString *urlStr = [NSString stringWithFormat:@"http://localhost:8080/MJServer/login?username=%@&pwd=%@",usernameText, pwdText];    NSURL *url = [NSURL URLWithString:urlStr];        // 创建一个请求    N

iOS开发——网络Swift篇&amp;JSON与XML数据解析

JSON与XML数据解析 JSON数据解析(内置NSJSONSerialization与第三方JSONKit) 一,使用自带的NSJSONSerialization 苹果从IOS5.0后推出了SDK自带的JSON解决方案NSJSONSerialization,这是一个非常好用的JSON生成和解析工具,效率也比其他第三方开源项目高. NSJSONSerialization能将JSON转换成Foundation对象,也能将Foundation对象转换成JSON,但转换成JSON的对象必须具有如下属性

JSON解析和XML解析

一. XML:用到一个开源解析类,GDataXMLNode(将其加入项目中),添加libxml2.dylib框架 经常用到的方法: 1.- (id)initWithXMLString:(NSString *)str options:(unsigned int)mask error:(NSError *)error 2.- (id)initWithData:(NSData *)data options:(unsigned int)mask error:(NSError *)error 这两个方法可