c# - 使用C#中的类型属性将Xml序列化为Json
问题描述
我想在保持数字类型的 json 中序列化我的 xml。
在我的 XML 下面:
<root type="number">42</root>
这是我的预期结果:
{
"root": 42
}
我正在尝试使用 Newtonsoft Library,使用 JsonConvert.SerializeXmlNode 方法,但似乎不起作用:
我的代码:
XmlDocument dox1 = new XmlDocument();
string xx = "<root type=\"number\">42</root>";
dox1.LoadXml(xx);
string JsonContent = Newtonsoft.Json.JsonConvert.SerializeXmlNode(dox1, Newtonsoft.Json.Formatting.Indented, true);
//JsonResult json = Json(JsonContent);
return JsonContent;
结果:
{
"@type": "number",
"#text": "42"
}
你能帮助我吗?
解决方案
您的 XML 与您预期的 JSON 没有任何关系。这完全是您可能喜欢的手动转换(我假设您的意思是 42,否则解释得到 4 的逻辑):
void Main()
{
string xx = "<root type=\"number\">42</root>";
var value = new { orderType = (int)XElement.Parse(xx)};
var json = JsonConvert.SerializeObject(value);
Console.WriteLine(json);
}
推荐阅读
- cmake - [VSCode][CMake][clang-tidy] 错误:PCH 文件使用不再支持的旧 PCH 格式
- assembly - 两个十六进制内存地址之间区域中的字节
- swift - 翠鸟图像不随父视图的其余部分过渡
- sql-server - 为什么服务帐户无法引用其自己的默认架构?
- python - Selenium 根据网格坐标获取单元格
- android - 如何离线保存 Parser feed sqlite 数据库?
- python - 如何找到谷歌驱动器的特定文件ID?
- python - 用替换从瓮中绘制 2 个数字 - Python
- mysql - MySQL 删除级联,源表中的 FK
- c - 设置长值定义或函数位的最佳方法