【问题标题】:Deserialize Json error反序列化 Json 错误
【发布时间】:2014-03-15 11:37:43
【问题描述】:

我有以下代码:

public string BulkAttendaceSave(string userName, string password, string Json)
{
    DataSet ds = (DataSet)JsonConvert.DeserializeObject(Json, (typeof(DataSet)));
}

我传递的 JSon 是:

[{"staff_id":"12","site_code":"S2","att_date":"1-7-2013","work_hour":"1.00"}]

我收到错误:

Newtonsoft.Json.JsonSerializationException:完成反序列化对象后,在 JSON 字符串中发现附加文本。 at attence.BulkAttendaceSave(String userName, String password, String Json)

代码有什么问题?请帮忙!

【问题讨论】:

    标签: c# .net json deserialization


    【解决方案1】:

    您的 json 字符串格式无效,无法解析为 DataSet。它应该是里面有桌子的对象。每个表都应包含行数组:

    { 
       "Table1": [
         {"staff_id":"12","site_code":"S2","att_date":"1-7-2013","work_hour":"1.00"}
       ]
    }
    

    现在可以反序列化为DataSet。你当前的json字符串可以反序列化为DataTable:

    var dt = (DataTable)JsonConvert.DeserializeObject(json, typeof(DataTable));
    

    结果:

    【讨论】:

      猜你喜欢
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多