【发布时间】:2018-08-30 13:54:02
【问题描述】:
我有一种将 JSON 转换为 xml 的有线要求。 我们有一个返回 JSON 响应的 API,如下所示。
{
"status":"Error",
"errorMessages":{
"1001":"Schema validation Error"
}
}
我们想使用 c# 将此 JSON 转换为 XML,如下所示
<root>
<status>ERROR</status>
<errorMessages>
<ErrorCode>1001</ErrorCode>
<ErrorDescription>Schema validation Error</ErrorDescription>
</errorMessages>
</root>
API 团队非常不愿意改变生成 JSON 的方式。所以我必须想办法把这个json转换成XML。
当我尝试转换时出现以下错误
XmlDocument doc = JsonConvert.DeserializeXmlNode(json);
"JSON 根对象具有多个属性。根对象必须具有单个属性才能创建有效的 XML 文档。考虑指定 DeserializeRootElementName。路径错误消息
提前感谢您的帮助。 :)
【问题讨论】:
-
当我尝试运行 deserializeXmlNode 方法时,我收到以下错误
XmlDocument doc = JsonConvert.DeserializeXmlNode(json);`当我尝试转换“JSON 根对象具有多个属性时,我收到以下错误。根对象必须具有单个属性以创建有效的 XML 文档。考虑指定 DeserializeRootElementName。路径 'errorMessages ` -
您需要为此 JSON 编写一个自定义转换器,因为 1)它没有根节点(如错误所示)和 2)它具有以数字开头的属性(这将是无效的 XML 元素名称)。没有直接的转化路径。
标签: c# json xml-parsing jsonparser