C# 序列化和反序列化元数据提取器dotnet

C# 序列化和反序列化元数据提取器dotnet,c#,json.net,metadata-extractor,C#,Json.net,Metadata Extractor,我正在序列化上传图像中的元数据,以便能够将其保存在数据库中 可以使用Newtonsoft(JSON.NET)中的自定义JsonConverter序列化数据,但反序列化失败: (IReadOnlyList<MetadataExtractor.Directory>)JsonConvert.DeserializeObject(metadata) 由于目录列表可能因特定对象而异,因此我怀疑单独序列化/反序列化目录是否微不足道 关于如何只将上传图像的元数据部分保存到一个可以在以后重复使用的表

我正在序列化上传图像中的元数据,以便能够将其保存在数据库中

可以使用Newtonsoft(JSON.NET)中的自定义JsonConverter序列化数据,但反序列化失败:

(IReadOnlyList<MetadataExtractor.Directory>)JsonConvert.DeserializeObject(metadata)
由于目录列表可能因特定对象而异,因此我怀疑单独序列化/反序列化目录是否微不足道


关于如何只将上传图像的元数据部分保存到一个可以在以后重复使用的表单中,有什么简单的建议吗?

元数据提取器不支持序列化,尽管Java版本中有一个讨论这个问题的版本

这里也存在部分问题——这完全取决于为什么要序列化数据。如果您需要完全逼真的属性描述,那么与仅保存/恢复一些属性描述相比,这项工作要多得多

您可以使用以下内容将描述编写为XML:

var doc=新XDocument(
新的XElement(“元数据”,
目录。选择(目录=>
新XElement(“目录”,
新XAttribute(“Name”,directory.Name),
directory.Tags.Select(tag=>
新的XElement(“标签”,
新的XAttribute(“Id”,tag.Type.ToString(“X”),
新XAttribute(“Name”,tag.Name),
标签说明(()());;
这将产生类似以下内容的XML:


尼康
COOLPIX P340
...

元数据提取器不支持序列化,尽管目前正在讨论Java版本中的一个问题

这里也存在部分问题——这完全取决于为什么要序列化数据。如果您需要完全逼真的数据,则比仅保存/恢复一些属性描述要多得多

您可以使用以下内容将描述编写为XML:

var doc=新XDocument(
新的XElement(“元数据”,
目录。选择(目录=>
新XElement(“目录”,
新XAttribute(“Name”,directory.Name),
directory.Tags.Select(tag=>
新的XElement(“标签”,
新的XAttribute(“Id”,tag.Type.ToString(“X”),
新XAttribute(“Name”,tag.Name),
标签说明(()());;
这将产生类似以下内容的XML:


尼康
COOLPIX P340
...

您的元数据是什么样子的?您也可以发布吗?您的元数据是什么样子的?您也可以发布吗?谢谢。我正在将上载的图像持久化到数据库中,并首先解析它们的元数据。我的原因是,我不知道随着时间的推移,我的模型需要哪些属性,所以我想要一种简单的方法来重新获取元数据,而无需重新发布正在清除整个图像。谢谢。我正在将上载的图像持久化到数据库,并首先解析它们的元数据。我的原因是,我不知道随着时间的推移我的模型需要哪些属性,因此我希望有一种简单的方法来重新获取元数据,而不必重新获取整个图像。
An exception of type 'Newtonsoft.Json.JsonSerializationException' occurred in Newtonsoft.Json.dll but was not handled in user code

Additional information: Could not create an instance of type MetadataExtractor.Directory. Type is an interface or abstract class and cannot be instantiated. Path '[0].Name', line 1, position 9.