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

使用NewtonSoft.JSON.dll来序列化和发序列化对象

2013-12-16 14:29 615 查看
从这里下载:http://www.newtonsoft.com/products/json/

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

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

 

Product product = new Product();

 

product.Name = "Apple";

product.Expiry = new DateTime(2008, 12, 28);

product.Price = 3.99M;

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

 

string output = JavaScriptConvert.SerializeObject(product);

//{

//  "Name": "Apple",

//  "Expiry": new Date(1230422400000),

//  "Price": 3.99,

//  "Sizes": [

//    "Small",

//    "Medium",

//    "Large"

//  ]

//}

 

Product deserializedProduct = (Product)JavaScriptConvert.DeserializeObject(output, typeof(Product));


 

读取JSON

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

 

JsonReader reader = new JsonReader(new StringReader(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写入

StringWriter sw = new StringWriter();

JsonWriter writer = new JsonWriter(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();

 

string jsonText = sw.GetStringBuilder().ToString();

 

Console.WriteLine(jsonText);

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


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