开发者社区> 问答> 正文

C#json反序列化 :报错

 string jsondata = "{\"status\":0,\"message\":\"成功\",\"results\":[{\"orderstatus\":0,\"orderid\":\" HG20160519105755755251244\",\"ordermsg\":\"提交成功\"},{\"orderstatus\":2,\"orderid\":\"HG20160519105755755251321\",\"ordermsg\":\"无效的订单产品\"}]} ";

如何反序列化

展开
收起
kun坤 2020-06-14 14:59:36 607 0
1 条回答
写回答
取消 提交回答
  • /// <summary> 
    /// JSON文本转对象,泛型方法 
    /// </summary> 
    /// <typeparam name="T">类型</typeparam> 
    /// <param name="jsonText">JSON文本</param> 
    /// <returns>指定类型的对象</returns> 
    public static T JSONToObject<T>(string jsonText)
    {
         JavaScriptSerializer jss = new JavaScriptSerializer();
         try
         {
              return jss.Deserialize<T>(jsonText);
         }
         catch (Exception ex)
         {
              throw new Exception("JSONHelper.JSONToObject(): " + ex.Message);
         }
    }

    class JsonResult
    {
        public int status { get; set; }
        public string message { get; set; }
        public List<Result> results { get; set; }
    }
    
    class Result
    {
        public int orderstatus { get; set; }
        public string orderid { get; set; }
        public string ordermsg { get; set; }
    }
    
    
    JsonResult res = JsonHelper.JSONToObject<JsonResult>(jsondata);
    Console.WriteLine(res.results.Count);
    //输出 2
    



    注意 你上面的Json字符串中有个逗号是中文的...记得改成英文的...





    ###### JObject jsonObj= (JObject)JsonConvert.DeserializeObject(jsondata);
    2020-06-14 14:59:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载