【发布时间】:2019-12-27 21:39:07
【问题描述】:
我遇到了以下有效负载的问题。
我在 API 调用的 Node.js 后端收到的有效负载如下。
{
"id": "1",
"content":{
"text": "
<body>
<div>
<table>
<thead>
<tr>
<th><strong>Header 1</strong></th>
<th><strong>Header 2</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>question 1</td>
<td>answer 1</td>
</tr>
<tr>
<td>question 2</td>
<td>answer 2</td>
</tr>
<tr>
<td>question 3</td>
<td>answer 3</td>
</tr>
</tbody>
</table>
</div>
</body>
"
}
}
所以在这里我将响应存储如下:
var response = data
即数据是 JSON 响应
我将 HTML 数据保存如下
var HTMLContentText = response.content.text
结果我会得到这个:
<body>
<div>
<table>
<thead>
<tr>
<th><strong>Header 1</strong></th>
<th><strong>Header 2</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>question 1</td>
<td>answer 1</td>
</tr>
<tr>
<td>question 2</td>
<td>answer 2</td>
</tr>
<tr>
<td>question 3</td>
<td>answer 3</td>
</tr>
</tbody>
</table>
</div>
</body>
这里我要执行以下操作
- 将 HTML 文本解析为对象
- 从响应中获取表格 即 select("table").first();
- 获取表格的行 即选择(“tr”)
我在 JAVA 中有相同的代码。
这里仅供参考。在这里,我使用 Jsoup 解析器来完成所有操作。我现在想用 Javascript 执行所有操作。
// HTML as text (from JSON)
String HtmlFormattedText = (String)((JSONObject)JsonObject.get("content")).get("text");
// parse the html text into an object
Document HtmlFormattedDocumentObject = Jsoup.parse(HtmlFormattedText);
// get the table from the response
Element allRowsFromTable = HtmlFormattedDocumentObject.select("table").first();
// get the rows of the table
return allRowsFromTable.select("tr");
【问题讨论】:
-
我编辑了你的问题,所以它告诉其他人这不仅仅是关于 JavaScript,而是关于 Node.js。在你的情况下,这意味着很多。 (编辑等待同行评审,如果您看不到它。)
-
感谢您的编辑。我忘了提到关键的事情XD
标签: javascript node.js json