【发布时间】:2020-02-15 03:21:10
【问题描述】:
早上好,我很难找到解决问题的方法。我有一个组合框,它使用来自 DB 的数据源和 JSON 对象所在的数据填充。我将如何反序列化这些数据? 这是来自数据库的 JSON 数据:
{"displayname":{"value":"Test","scope":"contacts","verified":"0"},"address":{"value":"","scope":"private","verified":"0"},"website":{"value":"","scope":"private","verified":"0"},"email":{"value":"","scope":"contacts","verified":"0"},"avatar":{"scope":"contacts","verified":"0"},"phone":{"value":"01234567890","scope":"private","verified":"0"},"twitter":{"value":"","scope":"private","verified":"0"}}
下面是组合框中将显示的内容。我不想要组合框中的 JSON 对象,而是反序列化数据。例如:我只想在我的组合框中显示名称,这是 JSON 对象中 displayname 下的值。
【问题讨论】:
-
你应该创建一个代表 json 结构的类。将所有 json 字符串放入一个字符串集合中。反序列化字符串并为它们中的每一个创建一个类对象,并创建一个类对象的集合并通过设置 ComboBox 的 DisplayMember 属性将该集合绑定到 ComboBox
-
您可以将数据反序列化为
JObject并映射到 ComboBox 的对象或创建相应的类型/类并将给定的数据反序列化为这些类型。