10
我打算使用物化MongoDB中的路徑來代表一棵樹,需要物化路徑轉換回JSON樹構建JSON樹。從物化路徑
ex。 //物化路徑
var input = [
{"id": "0", "path": "javascript" },
{"id": "1", "path": "javascript/database" },
{"id": "2", "path": "javascript/database/tree" },
{"id": "3", "path": "javascript/mvc" },
{"id": "4", "path": "javascript/mvc/knockout.js"},
{"id": "5", "path": "javascript/mvc/backbone.js"},
{"id": "6", "path": "c++" },
{"id": "7", "path": "c++/c0xx"},
{"id": "8", "path": "c++/c0xx/lambda expressions"},
{"id": "9", "path": "c++/c0xx/vc10" }
];
其結果將是:
[
{
"id": "0",
"name": "javascript",
"children": [
{
"id": "1",
"name": "database",
"children": [
{
"id": "2",
"name": "tree",
"children": []
}
]
},
{
"id": "3",
"name": "mvc",
"children": [
{
"id": "4",
"name": "knockout.js",
"children": []
},
{
"id": "5",
"name": "backbone.js",
"children": []
}
]
}
]
},
{
"id": "6",
"name": "c++",
"children": [
{
"id": "7",
"name": "c0xx",
"children": [
{
"id": "8",
"name": "lambda expressions",
"children": []
},
{
"id": "9",
"name": "vc10",
"children": []
}
]
}
]
}
]
我發現Convert delimited string into hierarchical JSON with JQuery工作正常。
而且我還發現這是寫在Ruby和使用遞歸Build tree from materialized path。我感興趣並好奇地看到這在Javascript中實現,並且想知道是否有任何人都願意重寫它,並且熟悉Ruby和Javascript。我確實嘗試了一個Ruby to JS轉換器,但結果卻令人無法理解。
感謝, 內維爾
感謝。我結束了使用http://stackoverflow.com/questions/6232753/convert-delimited-string-into-hierarchical-json-with-jquery的代碼,它適合我的需求。 關於代碼如何工作的一些評論將是非常受歡迎的。 – nevf 2012-10-10 05:09:56