c# - 将 XML 响应转换为 Json 时出错
问题描述
目标是将 XML 响应转换为 JSON。我正在访问一个返回 XML 数据的 API 端点。我收到数据,将其转换为 json 字符串,但是当我尝试反序列化 json 字符串时,它会抛出异常
阅读完 JSON 内容后遇到的附加文本::. 路径'',第 1 行,位置 6
public string GetSaveData(string url)
{
try
{
using (WebClient client = new WebClient())
{
var response = client.DownloadString(url);
XmlDocument doc = new XmlDocument();
doc.LoadXml(response);
var json = JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None, true);
var transactObject1 = JsonConvert.DeserializeObject(json); **//Exception is thrown at this line**
}
}
catch (Exception ex)
{
throw ex;
}
return "success";
}
在 transactObject1 处引发异常。
解决方案
因此,我通过删除声明导致 json 字符串格式错误的 XML 文档的起始标记找到了解决方案。
public string GetSaveData(string url)
{
try
{
using (WebClient client = new WebClient())
{
var response = client.DownloadString(url);
XmlDocument doc = new XmlDocument();
doc.LoadXml(response);
foreach (XmlNode node in doc)
{
if (node.NodeType == XmlNodeType.XmlDeclaration)
{
doc.RemoveChild(node);
}
}
var json = JsonConvert.SerializeXmlNode(doc, Newtonsoft.Json.Formatting.None, true);
var transactObject1 = JsonConvert.DeserializeObject(json);
}
}
catch (Exception ex)
{
throw ex;
}
return "success";
}
推荐阅读
- javascript - 使用 ReactJS 钩子,一旦选择了复选框过滤器,你应该如何调用你的 api?
- javascript - 使用 JavaScript 数组填充具有设定时间的选择选项?
- python - 如何将 tf.Variable 转换为 numpy?
- matlab - 使用按钮单击中断循环 Appdesigner GUI [在调试模式下工作但不在正常模式下工作] [绘图和按钮都具有不同的功能]
- python - 在python中获取字符串值的正则表达式
- python - 如何将 Tkinter 8.6.8 升级到 8.6.9?
- reactjs - React route:如何从组件中获取当前的route key
- javascript - 即使窗口屏幕大小为
- c# - 从 .Net Core 中的启动配置方法调用控制器操作
- iso - 为 post-fd 操作系统(例如 CentOS 8)生成 kickstart ISO 并在打包程序 vsphere-iso 调用中使用它