安装:
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
typeof(
Product));
.DeserializeObject(output,
读取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"
"\t\t" + WriteValue(reader.Value))
+ WriteValue(reader.ValueType) +
}
结果显示:
TokenType | ValueType | Value |
---|---|---|
StartArray | null | null |
String | System.String | JSON! |
Integer | System.Int32 | 1 |
Boolean | System.Boolean | True |
StartObject | PropertyName | property |
value | ||
EndObject | EndArray | null |
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!',{property:'value'}]
这里会打印出:
['JSON!',{property:'value'}]
.