在前端開發中,我們經常需要把表單數據轉換為 JSON 對象進行數據提交。隨著應用的不斷壯大,表單和表單項數量也逐漸增多,對于大量重復的表單項如何進行 JSON 化就成了一個問題。
例如,有一個表單項需要重復輸入多次,該怎么辦?我們可以把表單項的名稱定為數組形式,例如:
這樣在 PHP 中通過 $_POST['fruit'] 即可獲得一個數組,但是在 JavaScript 中我們需要將其轉換為 JSON 對象。
我們可以通過以下函數來實現:
function formToJson(form){ var formData = form.serializeArray(); var jsonData = {}; formData.forEach(function(item){ if(jsonData[item.name]){ jsonData[item.name].push(item.value); }else{ jsonData[item.name] = [item.value]; } }); return jsonData; }
需要注意的是,如果表單項名稱相同且不為數組形式,通過該函數轉換后將只會保留最后一個值。因此,在設計表單時應該盡可能避免同名表單項的情況。
以上是對于表單轉JSON對象重復時的處理方法,希望能夠對大家有所幫助。
上一篇python 獲取坐標點
下一篇es解析json數組