gpt4 book ai didi

javascript - 如何使用 javascript 将下表转换为 JSON?

转载 作者:可可西里 更新时间:2023-11-01 01:46:52 24 4
gpt4 key购买 nike

如何在jquery/javascript中将下表转成JSON字符串?

<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>A1</td>
<td>A2</td>
<td>A3</td>
</tr>
<tr>
<td>B1</td>
<td>B2</td>
<td>B3</td>
</tr>
<tr>
<td>C1</td>
<td>C2</td>
<td>C3</td>
</tr>
</tbody>
</table>

我想让它在变量“myjson”中获取一个 JSON 字符串,该字符串可用于 POST 请求或 GET 请求:

{
"myrows" : [
{
"Column 1" : "A1",
"Column 2" : "A2",
"Column 3" : "A3"
},
{
"Column 1" : "B1",
"Column 2" : "B2",
"Column 3" : "B3"
},
{
"Column 1" : "C1",
"Column 2" : "C2",
"Column 3" : "C3"
}
]
}

实现此目标的最佳方法是什么? (注意:可能有不同的行数,我只想提取文本而忽略表内的其他标签)

最佳答案

更新:有一个 slightly improved fork of the solution (below) on jsFiddle .

您只需要遍历表格的 DOM,将其读出...这甚至没有接近优化,但会给您想要的结果。 ( jsFiddle )

// Loop through grabbing everything
var myRows = [];
var $headers = $("th");
var $rows = $("tbody tr").each(function(index) {
$cells = $(this).find("td");
myRows[index] = {};
$cells.each(function(cellIndex) {
myRows[index][$($headers[cellIndex]).html()] = $(this).html();
});
});

// Let's put this in the object like you want and convert to JSON (Note: jQuery will also do this for you on the Ajax request)
var myObj = {};
myObj.myrows = myRows;
alert(JSON.stringify(myObj));​

输出...

{"myrows":[{"Column 1":"A1","Column 2":"A2","Column 3":"A3"},{"Column 1":"B1","Column 2":"B2","Column 3":"B3"},{"Column 1":"C1","Column 2":"C2","Column 3":"C3"}]}

关于javascript - 如何使用 javascript 将下表转换为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com