Ý tưởng cơ bản là những gì @Gates VP đã mô tả. Tôi sử dụng underscore.js để lặp qua các mảng / đối tượng.
function formatLog(obj){
var log = "";
_.each(obj, function(val, key){
if(typeof(val) === "object" || typeof(val) === "array"){
// if we have a new list
log += "<ul>";
log += formatLog(val);
log += "</ul>";
}
else{
// if we are at an endpoint
log += "<li>";
log += (key + ": " + val);
log += "</li>";
}
});
return log;
}
Nếu bạn gọi formatLog()
trên dữ liệu mẫu mà bạn đã cung cấp, nó sẽ trả về
- ServerAlias:GBIZ-WEB
- urltoken:CFID =10989 &CFTOKEN =f07fe950-53926E3B-F33A-093D-3FCEFB &jsessionid =84303d29a229d1
- sessionid:84197a667053f63433672873j377e7d379101
- UUID:53934LBB-DB8F-79T6-C03937JD84HB864A338
- Mẫu:/home/vagrant/dev/websites/g-bis/code/webroot/page/home/home.cfm, dòng 3
- Nội dung đã tạo:
- Mailto:
- Thông báo:Thẻ không xác định:cfincflude.
- tagName:cfincflude
- RAW_TRACE:tại cfhome2ecfm1296628853.runPage (/home/vagrant/dev/websites/nig-bis/code/webroot/page/home/home.cfm:3)
- ID:CFINCLUDE
- TEMPLATE:/home/vagrant/dev/websites/nig-bis/code/webroot/page/home/home.cfm
- LINE:3
- LOẠI:CFML
- CỘT:0
- RAW_TRACE:tại cfdisplay2ecfm1093821753.runPage (/home/vagrant/dev/websites/nig-bis/code/webroot/page/display.cfm:6)
- ID:CFINCLUDE
- TEMPLATE:/home/vagrant/dev/websites/nig-bis/code/webroot/page/display.cfm
- LINE:6
- LOẠI:CFML
- CỘT:0
Sau đó, định dạng nó như thế nào là tùy thuộc vào bạn.