Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从HTML元素生成JSON数据_Javascript_Html_Jquery_Arrays_Json - Fatal编程技术网

Javascript 从HTML元素生成JSON数据

Javascript 从HTML元素生成JSON数据,javascript,html,jquery,arrays,json,Javascript,Html,Jquery,Arrays,Json,我是新手,所以我请求帮助。在我看来,这应该足够简单。我有一段如下的HTML代码: <div class="shopping-cart-list"> <div> <div class="toReceipt" style="display: none;"> <div class="toReceiptName">Posi

我是新手,所以我请求帮助。在我看来,这应该足够简单。我有一段如下的HTML代码:

    <div class="shopping-cart-list">
    <div>
        <div class="toReceipt" style="display: none;">
            <div class="toReceiptName">Position 1</div>
            <div class="toReceiptPrice">200</div>
            <div class="toReceiptQuantity">2</div>
            <div class="toReceiptAmount">400</div>
        </div>
    </div>
    <div>
        <div class="toReceipt" style="display: none;">
            <div class="toReceiptName">Position 2</div>
            <div class="toReceiptPrice">100</div>
            <div class="toReceiptQuantity">1</div>
            <div class="toReceiptAmount">100</div>
        </div>
    </div>
    <div>
        <div class="toReceipt" style="display: none;">
            <div class="toReceiptName">Position 3</div>
            <div class="toReceiptPrice">20</div>
            <div class="toReceiptQuantity">2</div>
            <div class="toReceiptAmount">40</div>
        </div>
    </div>
</div>
这是我的解决方案:

函数go(){ 让结果={ “项目”:[…], “数额”:{} }; 设totalAmount=0; $(“div.shopping-cart-list div.toReceipt”)。每个((索引,项目)=>{ result.Item.push({ “标签”:$(项).find(“div.toReceiptName”).text(), “价格”:编号($(项目).find(“div.toReceiptPrice”).text(), “数量”:编号($(项目).find(“div.toReceiptQuantity”).text(), “金额”:数字($(项目).find(“div.toReceiptAmount”).text() }) totalAmount+=数字($(项).find(“div.toReceiptAmount”).text(); }); 结果:金额={ “电子”:总金额 }; 控制台日志(结果); }

位置1
200
2.
400
位置2
100
1.
100
位置3
20
2.
40
去

400+100+40=1300?逻辑是什么?
var receipt = {
    "Items": [{
            "label": "Position 1",
            "price": 200.00,
            "quantity": 2.00,
            "amount": 400.00,
        },
        {
            "label": "Position 2",
            "price": 100.00,
            "quantity": 1.00,
            "amount": 100.00,
        },
        {
            "label": "Position 3",
            "price": 20.00,
            "quantity": 2.00,
            "amount": 40.00,
        },
    ],
    "amounts": {
        "electronic": 1300.00, // Calculate amount of all positions
    }
}