前端之家收集整理的这篇文章主要介绍了
Json.NET使用入门(四)【复杂Json反序列化】,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
人一旦觉悟,就会放弃追寻身外之物,而开始追寻内心世界的真正财富。
相关实体类:
public class RsponseJson
{
[JsonProperty("msgType")]
public string MsgType { get; set; }
[JsonProperty("msgObj")]
public string MsgObj { get; set; }
}
public class MsgObjModel
{
[JsonProperty("sign")]
public string Sign { get; set; }
[JsonProperty("params")]
public DicPara dicPara { get; set; }
}
public class DicPara
{
[JsonProperty("plateNo")]
public string PlateNo { get; set; }
[JsonProperty("parkIndexcode")]
public string ParkIndexcode { get; set; }
[JsonProperty("preFee")]
public decimal PreFee { get; set; }
[JsonProperty("action")]
public string Action { get; set; }
[JsonProperty("cloudEnterId")]
public string CloudEnterId { get; set; }
[JsonProperty("orderCode")]
public string OrderCode { get; set; }
[JsonProperty("cloudParkId")]
public string CloudParkId { get; set; }
}
Program.CS代码:
class Program
{
static void Main(string[] args)
{
string jsonstr = @"{""msgType"":""ORDER_PAY_SUCCESS"",""msgObj"":""{\""sign\"":\""1e7068bacxxxxxxxxxxxxxxxxxxxxxxx\"",\""params\"":{\""plateNo\"":\""浙A99999\"",\""parkIndexcode\"":\""111\"",\""preFee\"":100.00,\""action\"":\""queryPreFee\"",\""cloudEnterId\"":\""111\"",\""orderCode\"":\""0719141034-6481\"",\""cloudParkId\"":\""PI1482457208756202110\""}}""}";
RsponseJson Jm = JsonConvert.DeserializeObject<RsponseJson>(jsonstr);
MsgObjModel jmodel = JsonConvert.DeserializeObject<MsgObjModel>(Jm.MsgObj);
}
}
static void Main(string[] args)
{
string jsonstr = @"{""msgType"":""ORDER_PAY_SUCCESS"",\""cloudParkId\"":\""PI1482457208756202110\""}}""}";
JObject jsonSearch = JObject.Parse(jsonstr);
string haha = jsonSearch["msgType"].ToString();
string msgObjstr = jsonSearch["msgObj"].ToString();
JObject msgObjModel= JObject.Parse(msgObjstr);
string chepai = msgObjModel["sign"].ToString();
string plateNo = msgObjModel["params"]["plateNo"].ToString();
}