很多情况下,我们需要把数据类型做一些转换,供其它外部的子系统调用。最为典型的是生成json格式供javascript作调用。
现成的组件Newtonsoft.Json可以实现object2json之间的转换。
二、使用
安装:
1 .解压下载文件,得到Newtonsoft.Json.dll
2.在项目中添加引用..
序列化和反序列在.net项目中:
1 .解压下载文件,得到Newtonsoft.Json.dll
2.在项目中添加引用..
序列化和反序列在.net项目中:
product = ();
product.Name = ;
product.Expiry = (2008, 12, 28);
product.Price = 3.99M;
product.Sizes = [] { , , };
output = .SerializeObject(product);
deserializedProduct = ().DeserializeObject(output, ());
读取JSON
jsonText = ;
reader = ( (jsonText));
.WriteLine();
(reader.Read())
{
.WriteLine(reader.TokenType + + WriteValue(reader.ValueType) + + WriteValue(reader.Value))
}
结果显示:
TokenType | ValueType | Value |
---|---|---|
StartArray | null | null |
String | System.String | JSON! |
Integer | System.Int32 | 1 |
Boolean | System.Boolean | True |
StartObject | null | null |
PropertyName | System.String | property |
String | System.String | value |
EndObject | null | null |
EndArray | null | null |
JSON写入
sw = ();
writer = (sw);
writer.WriteStartArray();
writer.WriteValue();
writer.WriteValue(1);
writer.WriteValue();
writer.WriteStartObject();
writer.WritePropertyName();
writer.WriteValue();
writer.WriteEndObject();
writer.WriteEndArray();
writer.Flush();
jsonText = sw.GetStringBuilder().ToString();
.WriteLine(jsonText);
这里会打印出:
['JSON!',1,true,{property:'value'}]
.