C# 中使用JSON - DataContractJsonSerializer

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

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

http://www.json.org/
{2~ he`�HZ.Sqb0

一、Using

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

using  System.Runtime.Serialization.Json;ITPUB 个人空间+r0s1A&?r(ar�T;r[F
using  System.Runtime.Serialization;
 二、 定义序列化的类

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

{ITPUB个人空 间$a9z tM]i9~EF&P
    
" encoding " : " UTF-8 " ,ITPUB个人空间qc']9Bs
    
" plug-ins " :[ " python " , " c++ " , " ruby " ],
d)C5g;y?,Ih}$Iv0     
" indent " :{
D0H:])gz Xd.AB3|0         
" length " : 3 ,ITPUB个人空间A5S*A j aLCZ%z6n+H
        
" use_space " : true
JF AY']A0     }ITPUB个人空间{`F2b,wa4m+N
}

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

[DataContract(Namespace  =   " http://coderzh.cnblogs.com " )]
C?*tyS fj9TQT0
class  ConfigITPUB个 人空间+?Ru){'p
{ITPUB个人空间Ay"Wu z#x.i.W}
    [DataMember(Order 
=   0 )]
2D(l_@JN3V+j0     
public   string  encoding {  get set ; }
UW`+u/g1E,S /"uW0     [DataMember(Order 
=   1 )]
.q,g}m,h.`s(PQt0     
public   string [] plugins {  get set ; }
(m LDa)SX J*b xr /~0     [DataMember(Order 
=   2 )]
8|{ j^){K0     
public  Indent indent {  get set ; }
8a;KbCQ0 }
&R}[+~d$O E:s-o0
sXhT5O-Te'S0 [DataContract(Namespace 
=   " http://coderzh.cnblogs.com " )]
K"c4TX)wUl0
class  Indent
E+|0{u_*Yd+dk0 {
&/"L7gl8BkT9v }0     [DataMember(Order 
=   0 )]ITPUB个人空间:U-_}#y;mzJ#a5h�s a
    
public   int  length {  get set ; }
6mD]e0?%u v0     [DataMember(Order 
=   1 )]
o6E~D5Ti0     
public   bool  use_space {  get set ; }ITPUB个人空间�ps_9e6m-}r
}
三、 对象转化为JSON字符串

使用WriteObject方法:ITPUB 个人空间)K @.K)[+X3}] ?0u9D

ITPUB个人空间%zw/5dI4IOh4K
ITPUB个人空间!L8[,EqP&[


F)M#Q5^W;l p0 Code highlighting produced by Actipro CodeHighlighter (freeware) ITPUB个人空间-Eo.J1E*?!X#u1p
http://www.CodeHighlighter.com/ ITPUB个人空间p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值