Newtonsoft.Json在json和對象之間轉化是一個非常強大的工具。
對象轉化json字符串
Newtonsoft.Json.JsonConvert.SerializeObject()
json字符串轉化為指定對象
Newtonsoft.Json.JsonConvert.DeserializeObject<>()
json字符串直接獲取指定元素值(類似XML)
var jObject=JObject.Parse(jsonstring); var time= jObject["time"].ToString();//獲取time{"time":"2016-06-06 11:11:11"}
xml轉換json字符串
XmlDocument doc = new XmlDocument(); doc.LoadXml(PostBackXml); var jObject = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doc);//Xml轉json
當上面的XML在序列化是通常會出現根目錄,根目錄內出現的才是需要序列化的對象元素。
不妨先轉換為JObject,像下面這樣使用jobj["MongoTask"]轉換
var json=JsonConvert.SerializeXmlNode(item); var jobj = JsonConvert.DeserializeObject<JObject>(json); tasklist.Add(jobj["MongoTask"].ToObject<MongoTask>());
如果需要獲取XML中屬性的值,比如獲取<user name='張三'>獲取張三時name屬相帶有@符號
代碼中過濾到@符號就可以正常取值
var jobj = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(jObject.Replace("@","")); var name= jobj["Response"]["Body"]["OrderResponse"]["name"];
