Newtonsoft Json反序列化为C# Datagridview

4

我有一些使用Newtonsoft Json插件的问题。我想使用Json填充datagridview,但不知道如何操作。在Newtonsoft Json的文档中,我看到了一个使用datatable的示例,但是如果我尝试这个示例,就会出现错误。

这是我的Json:

[
    {
        "id": "17",
        "name": "Filename",
        "author": "unknown",
        "size": "3.1MB",
        "pfad": "ftp://path/Filename",
        "Filetoken": "6747rzuzur6urzut766754677"
    },
    {
        "id": "20",
        "name": "Filename",
        "author": "unknown",
        "size": "3.1MB",
        "pfad": "ftp://path/Filename",
        "Filetoken": "6747rzuzur6urzut766754677"
    }
]

我尝试使用这个示例这个。或许有人可以帮忙吗?

你用什么代码来填充DataGridView? - AJ Richardson
你遇到了什么错误? - Rodrigo López
1
你的 JSON 和示例的区别在于,示例反序列化了一个带有 Table 属性的对象。而你的 JSON 是一个数组。你能用 { 'Table1': ..... } 包装一下你的 JSON 吗? - Crowcoder
1个回答

5
JSON是一个数组而不是对象,因此将其反序列化为DataTable:
var dataTable = JsonConvert.DeserializeObject<DataTable>(json);

然后按照此答案,将DataTable添加到DataGridView中。


谢谢您的回复。但是,如果我尝试这样做,我会得到一个“在完成反序列化对象后在JSON字符串中发现附加文本”的异常。 - Sevenlive
@Sevenlive - 我在你发布的JSON中没有遇到这个异常。你实际的JSON比你发布的更复杂吗? - dbc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接