C# 中使用JSON - DataContractJsonSerializer

C#中使用JSON不需要使用第三方库,使用.NET Framwork3.5自带的System.Runtime.Serialization.Json即可很好的完成JSON的解析。

关于JSON的入门介绍见(首页的图很形象):

http://www.json.org/

一、Using

需要添加引用:System.ServiceModel.Web 和 System.Runtime.Serialization,然后使用Using:

using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;

 二、定义序列化的类

假如我们要转化的JSON字符串格式为:

{
    
"encoding":"UTF-8",
    
"plug-ins":["python","c++","ruby"],
    
"indent":{
        
"length":3,
        
"use_space":true
    }
}

然后编写相应的序列化的类,注意下面类加的Attribute:

![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)JSON Object

三、对象转化为JSON字符串

使用WriteObject方法:

![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)WriteObject

四、JSON字符串转对象

使用ReadObject方法:

![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)ReadObject

 五、输出结果:

JSON string is:
{
"encoding":"UTF-8","plugins":["python","C++","C#"],"indent":{"length":4,"use_space":false}}
Encoding 
is: UTF-8
plugins 
is: python
plugins 
is: C++
plugins 
is: C#
indent.length 
is4
indent.use_space 
is: False

 

[温馨提示]:该文章由原博客园导入而来,如排版效果不佳,请移步:http://www.cnblogs.com/coderzh/archive/2008/11/25/1340862.html

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2008/11/25/1340862/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。