我正在努力反序列化我得到的Json。
它看起来像这样:
{
"seq": "13-g1AAAACLeJz",
"id": "c32b670-37899h8c545",
"changes": [
{
"rev": "9-68joc97b73df883a"
}
]
}
{
"seq": "15-g1AAAACLeJzLYWB-w",
"id": "f73huvh3-of38j8fh",
"changes": [
{
"rev": "4-10516b0f3"
}
],
"deleted": true
}
{
"seq": "16-g1AAAACL4eJzL",
"id": "M.Mustermann",
"changes": [
{
"rev": "388-e6d350281"
}
],
"deleted": true
}
{
"seq": "17-g1AAAACLr43_Q",
"id": "f8h83hf-34f8h",
"changes": [
{
"rev": "4-773re8f44e"
}
],
"deleted": true
}
{
"seq": "18-g1AAwe_g",
"id": "ewf/34r",
"changes": [
{
"rev": "9-wehch87ewc"
}
],
"deleted": true
}
{
"last_seq": "21-g1AA8wd998rAQ",
"pending": 0
}
我的模型:
public class Root {
public List<Result> results { get; set; }
public string last_seq { get; set; }
public int pending { get; set; }
}
public class Result
{
public string seq { get; set; }
public string id { get; set; }
public List<Change> changes { get; set; }
public bool? deleted { get; set; }
}
public class Change
{
public string rev { get; set; }
}
我尝试了所有的解决方案,我发现,但没有工作,我仍然得到以下异常:
Newtonsoft.Json.JsonReaderException:阅读完JSON内容后遇到其他文本:{.路径“”,第2行,位置0.位于Newtonsoft.Json.JsonTextReader.Read()
我尝试的方法:
dynamic array = JsonConvert.DeserializeObject<Root>(json);
Root jsonObject = JsonConvert.DeserializeObject<Root>(json);
var jsonObject = JsonConvert.DeserializeObject<List<Root>>(json);
2条答案
按热度按时间wsewodh21#
你所得到的是一系列粘在一起的JSON文档。而且,让事情变得更尴尬的是,最后一个文档与其他文档不同。因此,你需要手动解析它们,并检查你得到的是什么类型的对象。你可以使用
JsonReader.SupportMultipleContent
属性。例如,如下所示:q0qdq0h22#
如果你能要求修改你收到的json,那么Json的风箱应该可以工作。如果你不能,我想你必须自己解析它。