json中很多时候跟网络交互都会使用json的数据格式,那么之间的转换就经常用到序列化、反序列化等
反序列化例子:
关键类:JavaScriptSerializer js = new JavaScriptSerializer();
自定义的数据类:jsonVale vaule = new jsonVale();
反序列化方式2 使用关键字dynamic来定义动态数据格式,这个很好用。retstring是获取的json字符串。
retstring字符串内容:
{ "status": 200, "msg": "ok", "count": 1, "result": [ { "id": "460-001-40977-002205409", "lat": "39.98846436", "lng": "116.47560883", "radius": "670", "address": "北京市朝阳区望京街道方恒购物中心", "roads": "望京小街西北约49米", "lats": "39.989763", "lngs": "116.481719", "rid": "110105", "rids": "110105026000" } ], "latitude": "39.98846436", "longitude": "116.47560883", "match": "1" }
dynamic modelDy = js.Deserialize<dynamic>(retString); //反序列化
if (modelDy["status"] == 200)
{
try{
vaule.latitude =Decimal.Parse(modelDy["latitude"]);
vaule.longitude = Decimal.Parse(modelDy["longitude"]);
}catch (Exception ex)
{
}
}
return vaule;
}
序列化例子:
JavaScriptSerializer js = new JavaScriptSerializer();
string jsonData = js.Serialize(stu);//序列化
Console.WriteLine(jsonData);