您的位置:首页 > Web前端 > JavaScript

Newtonsoft.Json序列化和反序列

2013-09-27 16:47 567 查看
因为是转载文章在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因。

如有冒犯请联系本人,或删除,或标明出处。

因为好的文章,以前只想收藏,但连接有时候会失效,所以现在碰到好的直接转到自己这里。

原文出处http://www.cnblogs.com/xxxteam/archive/2013/04/07/3006256.html

 

 

这里下载:http://www.newtonsoft.com/products/json/

安装:
  1.解压下载文件,得到Newtonsoft.Json.dll

  2.在项目中添加引用..
序列化和反序列在.net项目中:

Productproduct=newProduct();


product.Name="Apple";

product.Expiry=newDateTime(2008,12,28);

product.Price=3.99M;

product.Sizes=newstring[]{"Small","Medium","Large"};


stringoutput=javascriptConvert.SerializeObject(product);

//{

//"Name":"Apple",

//"Expiry":newDate(1230422400000),

//"Price":3.99,

//"Sizes":[

//"Small",

//"Medium",

//"Large"

//]

//}


ProductdeserializedProduct=(Product)javascriptConvert.DeserializeObject(output,typeof(Product));


 

读取JSON

stringjsonText="['JSON!',1,true,{property:'value'}]";


JsonReaderreader=newJsonReader(newStringReader(jsonText));


Console.WriteLine("TokenType\t\tValueType\t\tValue");


while(reader.Read())

{

Console.WriteLine(reader.TokenType+"\t\t"+WriteValue(reader.ValueType)+"\t\t"+WriteValue(reader.Value))

}


结果显示:

TokenTypeValueTypeValue
StartArraynullnull
StringSystem.StringJSON!
IntegerSystem.Int321
BooleanSystem.BooleanTrue
StartObjectnullnull
PropertyNameSystem.Stringproperty
StringSystem.Stringvalue
EndObjectnullnull
EndArraynullnull

JSON写入

StringWritersw=newStringWriter();

JsonWriterwriter=newJsonWriter(sw);


writer.WriteStartArray();

writer.WriteValue("JSON!");

writer.WriteValue(1);

writer.WriteValue(true);

writer.WriteStartObject();

writer.WritePropertyName("property");

writer.WriteValue("value");

writer.WriteEndObject();

writer.WriteEndArray();


writer.Flush();


stringjsonText=sw.GetStringBuilder().ToString();


Console.WriteLine(jsonText);

//['JSON!',1,true,{property:'value'}]


这里会打印出:
['JSON!',1,true,{property:'value'}]
.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: