【发布时间】:2018-12-25 06:35:02
【问题描述】:
我有一个来自 SQL Server 存储过程的 XML,这个 XML 被转换为 JSON,然后从 Web API 方法返回。
这就是我将 XML 转换为 JSON 的方式
XmlDocument doc = new XmlDocument();
doc.LoadXml(reportXmlString);
string jString = JsonConvert.SerializeXmlNode(doc);
JObject jObject = JObject.Parse(jString);
return jObject;
我想将 JSON 中的数值作为数字...不带引号
我现在拥有的
{
"Report": {
"ReportItem": [
{
"Name": "MyObjectName",
"Revenue": "99999.45"
}
]
}
}
我想要什么
{
"Report": {
"ReportItem": [
{
"Name": "MyObjectName",
"Revenue": 99999.45
}
]
}
}
我没有这个 XML 的任何类,我没有将它映射到任何地方,我只是从存储过程接收 XML,将其转换为 JSON 并将其返回给用户。
这是我正在解析为 JSON 的 XML
<Report xmlns:json="http://james.newtonking.com/projects/json">
<ReportItem>
<Name>MyObjectName</Name>
<Revenue>99999.45</Revenue>
</ReportItem>
</Report>
有没有办法在不为每个字段创建类型的情况下做到这一点?
谢谢。
【问题讨论】:
-
我认为它不知道里面是什么数据类型,所以它将所有内容都视为字符串,因为这是最安全的数据。我查看了 Parse() 的设置选项,但没有运气。总是有一个选项可以覆盖 Parse() 或使用更改的代码实现您所说的解析,以测试是否可以将某些内容解析为数字,然后将其保存为这样:/
标签: c# json sql-server xml asp.net-web-api