在前端開發過程中,我們常常需要把 dataform 格式的數據轉換成 JSON 格式的數據來進行傳輸或者存儲。這里我們介紹一種簡單而實用的方法。
先來解釋一下 dataform 的格式。dataform 格式通常是一個二維數組,第一維度表示行,第二維度表示列。第一行通常是表頭,而第二行及以后的行則是數據行。例如:
[["Name", "Age", "Gender"], ["John", 25, "Male"], ["Mary", 32, "Female"], ["Tom", 18, "Male"]]
而 JSON 格式通常是一個鍵值對的結構。
{ "Name": "John", "Age": 25, "Gender": "Male" }
現在,我們要把 dataform 轉換成 JSON,以下是代碼實現:
function convertDataFormToJson(dataform) { var headers = dataform[0]; var jsonData = []; for (var i = 1; i< dataform.length; i++) { var row = dataform[i]; var obj = {}; for (var j = 0; j< headers.length; j++) { obj[headers[j]] = row[j]; } jsonData.push(obj); } return JSON.stringify(jsonData); }
代碼實現的主要思路是:先將第一行作為JSON對象的key,遍歷dataform中除第一行外的其他行,將其中的元素與第一行的key對應。然后將制作好的JSON對象push到數組中。最終返回JSON字符串就可以了。
在實際應用場景中,我們經常需要使用 AJAX 技術將 JSON 數據傳輸到服務器。而在服務器端,我們可以使用 JSON.parse() 方法將 JSON 數據轉換成對象或者數組。這樣就可以方便地操作客戶端傳來的數據了。