簡體   English   中英

將 HTML 表單轉換為 JSON 對象

[英]Convert HTML Form to JSON Object

我想將 HTML 表單轉換為 JSON 對象。 表單基本上包含兩個部分,Header 和 Detail。 Header 部分包含一些 HTML 輸入框,Detail 部分是一個表格。 我的表單的虛擬視圖如下。

 <!DOCTYPE html> <html lang="en"> <body> <form id="MyForm" method="POST"> <div name="HeaderData"> <label id="lblFname">First Name:</label> <input type="text" name="fname"/> <br/> <label id="lblLname">Last Name:</label> <input type="text" name="lname" /> <br/> <label id="lblEmail">Email:</label> <input type="text" name="email" /> <br/> </div> <div id="DetailData"> <table cellspacing="0" align="Center" rules="all" border="1" id="MyTable" style="width:940px;border-collapse:collapse;"> </thead> <th scope="col">Code</th> <th scope="col">Name</th> <th scope="col">Continent</th> <th scope="col">Region</th> <th scope="col">Population</th> <th scope="col">Independence Year</th> </thead> <tbody> <tr> <td name="Code">Ind</td> <td name="Country">India</td> <td name="Continent">Asia</td> <td name="Region">Asia</td> <td name="Population">113Core</td> <td name="Independence">1947</td> </tr> <tr> <td name="Code">Ind</td> <td name="Country">India</td> <td name="Continent">Asia</td> <td name="Region">Asia</td> <td name="Population">1500000</td> <td name="Independence">1947</td> </tr> </tbody> </table> </div> </body> </form> </html>

我希望生成的 JSON 對象能夠模仿:

 {"HeaderData":[{"Fname":"XYZ","LName":"ABC","Email":"ABC@XYZ.COM"}], "DetailData":[{"Code":"Ind","Name":"India","Continent":"Asia","Region":"Asia","Population":"113 Crore","Independence Year":"1947"}], "DetailData":[{"Code":"Ind","Name":"India","Continent":"Asia","Region":"Asia","Population":"113 Crore","Independence Year":"1947"}] }

我嘗試過不同的庫,如 jquery.tabletojson.js,但它們無法將數組分配給單獨的變量。

后來我想將此 JSON 對象轉換為 XML 字符串,以便我可以在 SQL Server QUERY 中處理它。 我希望 XML 字符串模仿:

 enter code here <Root> <HeaderData> <FName>XYZ</FName> <LName>XYZ</LName> <Email>abc@xyz.com</Email> </HeaderData> <DetailData> <Code>Ind</Code> <Name>India</Name> <Continent>Asia</Continent> <Region>Asia</Region> <Population>113Crore</Population> <IndependenceYear>1947</IndependenceYear> </DetailData> <DetailData> <Code>Ind</Code> <Name>India</Name> <Continent>Asia</Continent> <Region>Asia</Region> <Population>113Crore</Population> <IndependenceYear>1947</IndependenceYear> </DetailData> </Root>

我目前的首要任務是構建 JSON 字符串。 一旦 JSON 可用,我就可以將數據轉換為 XML。

如果您所有的<td>都有一個 name 屬性,您可以使用幾行 jQuery 將其轉換為對象...

var poop = [];
$("#MyTable").find("tr").each(function(){
    var fart = {};
    if(!$(this).find("td").length) return;
    $(this).find("td").each(function(){
        fart[$(this).attr("name")]=$(this).text();
    });
    poop.push(fart);
});

console.log(poop);

小提琴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM