using
Newtonsoft.Json;
Newtonsoft.Json.Converters;
//把Json字符串反序列化为对象
目标对象= JavaScriptConvert.DeserializeObject(JSON字符串,typeof (目标对象));
//把目标对象序列化为Json字符串
1 .引用Newtonsoft.Json.dll
2.在项目中添加引用..
序列化和反序列在.net项目中:
读取JSON
结果显示:
Newtonsoft.Json.Converters;
//把Json字符串反序列化为对象
目标对象= JavaScriptConvert.DeserializeObject(JSON字符串,typeof (目标对象));
//把目标对象序列化为Json字符串
- string Json字符串 = JavaScriptConvert.SerializeObject(目标对象);
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))
- }
结果显示:
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'}]