Dad*_*To2 4 c# xml json json.net winforms
所有人,我知道这个问题已经被问过很多次了,我觉得我已经看过这里的每一个!我有一个 C# Winforms 应用程序,它正在调用外部 webhook,提取 JSON 格式的数据。我需要获取这些数据并将其转换为数据表,并将最终结果导入到数据库中。我坚持的事情,并且在过去的一天半中一直在尝试将 JSON 数据解析为 XML。
这是我从 webhook 获取的 JSON 数据(示例):
[
["Item Title",
"Bidder Name",
"Bidder Email",
"Bidder Phone Number",
"Bidder Username",
"Bid Amount",
"Bid Time",
"Operation",
"Auto Bid Amount",
"Bidder Address",
"Bidder City",
"Bidder State",
"Bidder Country"
],
["Test item 1(#)"],
["",
"Tom Kelly",
"tomkelly7630@gmail.com",
"6303278300",
"testaccount",
"50.0",
"07/09/2016 07:17 PM CDT",
"Bid Amount",
null,
null,
null,
null,
"US"
]
]
Run Code Online (Sandbox Code Playgroud)
起初我尝试使用 DeserializeXMLNode 函数,但没有奏效。
XmlNode xml = JsonConvert.DeserializeXmlNode(body, "BiddingHistory");
Run Code Online (Sandbox Code Playgroud)
然后我想我会使用 DeserializeObject 函数,但同样,不起作用。
var jRst = JsonConvert.DeserializeObject(body);
Run Code Online (Sandbox Code Playgroud)
当我使用 DeserializeObject 函数时,我得到以下结果:
{[
[
"Item Title",
"Bidder Name",
"Bidder Email",
"Bidder Phone Number",
"Bidder Username",
"Bid Amount",
"Bid Time",
"Operation",
"Auto Bid Amount",
"Bidder Address",
"Bidder City",
"Bidder State",
"Bidder Country"
],
[
"Test Item 1"
],
[
"",
"Tom Kelly",
"tomkelly7630@gmail.com",
"6303278300",
"testaccount",
"75.0",
"07/30/2016 06:14 PM CDT",
"Bid Amount",
null,
null,
null,
null,
"US"
]
]}
Run Code Online (Sandbox Code Playgroud)
将对象转换为字符串后,我通过 XMLNodeConverter 运行它,但它在“#”字符上失败,所以我进行了字符串替换并取出了该字符(无论如何都不需要,我无法控制JSON 数据中出现了什么)然后再次运行我的代码。
XmlNode xml = JsonConvert.DeserializeXmlNode(sBody, "BiddingHistory");
Run Code Online (Sandbox Code Playgroud)
所以现在我得到的是这个错误:
XmlNodeConverter 只能转换以对象开头的 JSON
有人可以在这里引导我朝着正确的方向前进吗?我认为这是一件很简单的事情,我把它复杂化了。
谢谢。
您收到错误,因为您的 JSON 数据是一个数组,而您所做的是:
XmlNode xml = JsonConvert.DeserializeXmlNode(sBody, "BiddingHistory");
Run Code Online (Sandbox Code Playgroud)
上面的代码行仅适用于 JSON 对象。
所以,如果你的 JSON 是一个数组,那么试试这个:
XmlNode xml = JsonConvert.DeserializeXmlNode("{\"Row\":" + sBody + "}", "BiddingHistory").ToXmlString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6750 次 |
| 最近记录: |