欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

json折疊展開

任守立1年前5瀏覽0評論

JSON是一種輕量級的數據交換格式,常用于網絡傳輸和存儲。然而,有時候JSON數據可能非常復雜,需要一個折疊展開的功能來方便查看和處理。

折疊展開的實現方式有很多,可以使用原生JavaScript,也可以使用第三方的插件。下面是一個使用原生JavaScript實現的示例:

// HTML代碼
<div id="json-container"></div>
// JavaScript代碼
var json = {
"name": "John",
"age": 30,
"hobbies": [
"reading",
"cooking",
"photography"
],
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA"
}
};
function buildJSON(container, data) {
var html = "";
// 遍歷JSON數據
for (var key in data) {
// 如果是對象或數組,則需要遞歸構建
if (typeof data[key] === "object") {
html += "<p class='expandable' onclick='toggleExpand(this)'>" + key + "</p>";
html += "<div class='js-object hidden'>";
html += buildJSON(container, data[key]); // 遞歸構建
html += "</div>";
}
// 如果是基本類型,則直接顯示
else {
html += "<p>" + key + ": " + data[key] + "</p>";
}
}
container.innerHTML = html;
}
function toggleExpand(element) {
var target = element.nextElementSibling;
if (target.classList.contains("hidden")) {
target.classList.remove("hidden");
element.innerHTML = element.innerHTML.replace("+", "-");
} else {
target.classList.add("hidden");
element.innerHTML = element.innerHTML.replace("-", "+");
}
}
buildJSON(document.getElementById("json-container"), json);

上面的代碼會將JSON數據構建成一個可折疊展開的結構,可以通過點擊鍵值對的名稱來展開和收起,如下圖所示:

需要注意的是,上面的代碼只適用于JSON對象和JSON數組,如果需要支持其他類型的JSON數據,需要進行相應的調整。