当前位置: 首页 > 面试题库 >

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

景元忠
2023-03-14
问题内容

如何在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>

我想这样做,以便可以在POST请求或GET请求中使用的变量“ myjson”中获取JSON字符串:

{
  "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"
    }
  ]
}

做到这一点的最佳方法是什么?(注意:行的数量可能有所不同,我只想提取文本,而忽略表格内的其他标签)


问题答案:

更新: 有一个解决方案(下)上的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"}]}


 类似资料:
  • 我正在获取一个json对象,该对象如下所示: 然后,我使用模板文字追加页面上的对象,如下所示 我遇到的问题是,我需要${item.entry}来观察JSON中的html和段落中断。我该怎么做?

  • 问题内容: 我打算通过将其编码为JSON来发送充满数据的Javascript数组对象。任何好的jQuery插件吗? 在Java端,将JSON解析为Java数组的标准方法是什么? 总体流程如下: Javascript会在当前页面上编译一堆数据并将其存储在数组中。 数组对象编码为JSON。 Java代码保存JSON。 对每个页面重复执行并用Java代码编译成功的JSON。 Java代码向服务器提交一个

  • 问题内容: 我必须将我们的j2ee应用程序与REST Web服务集成在一起。我想使用JBoss的RestEasy JAX- RS实现。Web服务返回JSON格式的数组。我有这段代码: 我可以将此“响应”对象映射到使用RestEasy吗?谢谢 问题答案: 如果您的JSON提供程序能够转换为适当的实体,那么可以。您在代码中调用的方法具有重载的版本,该版本接受将结果转换为的实体类。由于序列化某些集合的实

  • 问题内容: 您将如何从XML转换为JSON,然后再转换回XML? 以下工具可以很好地工作,但并不完全一致: xml2json 有人遇到过这种情况吗? 问题答案: 我认为这是最好的方法: 在XML和JSON之间转换 一定要阅读xml.com O’Reilly网站上的随附文章,该文章详细介绍了这些转换所带来的问题,我认为您会发现这很有启发性。O’Reilly托管该文章的事实应表明,Stefan的解决方

  • 我有以下格式的列表 如何根据其键找到值,例如我需要第3行的名称...以及如何根据行对其进行排序

  • 问题内容: 对于此测试XML页面,以下代码可以很好地运行: 但是,如何修改此代码以从此欧洲中央银行页面获取利率数据? 参考: http://www.fyneworks.com/jquery/xml-to-json/#tab-用法 使用JavaScript获取数据 问题答案: 请尝试以下方法。我已经在FF 3.6和Chrome 6上对其进行了测试,它可以正常工作。