在前端開發中,經常需要把DOM節點轉換成JSON格式的數據,方便數據的傳輸和處理。下面介紹一種將DOM節點轉換成JSON數據的方法。
function nodeToJson(node) {
const obj = {}; // 創建一個空對象
// 獲取節點的所有屬性
if (node.nodeType === Node.ELEMENT_NODE && node.hasAttributes()) {
const attributes = node.attributes;
for (let i = 0; i< attributes.length; i++) {
const attr = attributes[i];
// 將屬性加入到對象中
obj[attr.name] = attr.value;
}
}
// 獲取節點的文本內容
if (node.nodeType === Node.TEXT_NODE) {
obj['text'] = node.textContent;
}
// 獲取節點的子節點
if (node.nodeType === Node.ELEMENT_NODE && node.hasChildNodes()) {
const children = node.childNodes;
// 將每個子節點轉換成JSON對象并加入到數組中
obj['children'] = [];
for (let i = 0; i< children.length; i++) {
const child = children[i];
const childObj = nodeToJson(child);
obj['children'].push(childObj);
}
}
return obj;
}
通過調用上述函數,可以將一個DOM節點轉換成一個JS對象,進而使用JSON.stringify()方法將其轉換成字符串形式進行數據傳遞和存儲。
此方法可以遞歸地處理所有子節點和屬性,生成完整的JSON數據。
上一篇dom綁定json
下一篇python 爬取直播