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\"":\""1e7068bac***************************************************************xx\"",\""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"",""msgObj"":""{\""sign\"":\""1e7068bac***************************************************************xx\"",\""params\"":{\""plateNo\"":\""浙A99999\"",\""parkIndexcode\"":\""111\"",\""preFee\"":100.00,\""action\"":\""queryPreFee\"",\""cloudEnterId\"":\""111\"",\""orderCode\"":\""0719141034-6481\"",\""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();
        }



相关推荐

评论

  1. #2

    木庄网络博客(2016/10/28 11:41:03)
    不错的网站主题,看着相当舒服

  2. #1

    木庄网络博客(2016/10/14 21:02:39)
    博客做得好漂亮哦!