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

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

2011-06-30 14:49 656 查看
从这里下载: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'}]
.<type=text/javascript>document.write("

");<type=text/javascript>LoadFeedbackCount();

转自:http://blog.csdn.net/feishan/archive/2008/04/24/2324331.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: