【发布时间】:2021-03-09 10:17:39
【问题描述】:
我想将 XML API 的结果转换为 Json,为此我使用了一个函数。
但我得到一个数据。因为每个都不是函数错误。 下面是JSON中要修改的数据
我是不是在某个地方犯了错误?提前谢谢你。
fetch(url)
.then((url) => url.text())
.then((txtUrl) => {
const xmlString = txtUrl;
var data = new DOMParser().parseFromString(xmlString, 'text/xml');
console.log(data);
data = xmlToJson(data);
const tbody = document.querySelector('#user-table tbody');
tbody.innerHTML = '';
data.forEach( (user) => {
const entry = document.createElement('tr')
entry.innerHTML = `
<tr>
<td class="column1">${user.Sent}</td>
<td class="column2">${user.Bounced}</td>
<td class="column3">${user.Delivered}</td>
<td class="column3">${user.Opens}</td>
<td class="column3">${user.UniqueOpens}</td>
<td class="column3">${user.Clicks}</td>
<td class="column3">${user.UniqueClicks}</td>
<td class="column3">${user.Clickers}</td>
<td class="column3">${user.Complaints}</td>
<td class="column3">${user.Unsubscribes}</td>
<td class="column3">${user.Bcc}</td>
</tr>
`;
tbody.appendChild(entry);
});
}
<ApiResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Data>
<Sent>27164</Sent>
<Bounced>985</Bounced>
<Delivered>26179</Delivered>
<Opens>1582</Opens>
<UniqueOpens>1180</UniqueOpens>
<Clicks>76</Clicks>
<UniqueClicks>69</UniqueClicks>
<Clickers>61</Clickers>
<Complaints>6</Complaints>
<Unsubscribes>219</Unsubscribes>
</Data>
【问题讨论】:
-
没有人可以看到您的 XML 或转换后的 JSON 版本。您希望有人如何提供帮助?
-
对不起,
<ApiResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Data> <Sent>27164</Sent> <Bounced>985</Bounced> <Delivered>26179</Delivered> <Opens>1582</Opens> <UniqueOpens>1180</UniqueOpens> <Clicks>76</Clicks> <UniqueClicks>69</UniqueClicks> <Clickers>61</Clickers> <Complaints>6</Complaints> <Unsubscribes>219</Unsubscribes> </Data> </ApiResponse> -
添加 JSON 转换版本。生成的 JavaScript 对象就是问题所在。该错误意味着您期望成为数组的东西不是数组。
-
这只是一项,不是列表。
-
这是因为数据不是数组或集合。它不能被迭代
标签: javascript json xml api