我正在編寫一個數據查看器頁面以呈現從服務器以JSON形式發送的對象。 JSON對象的內容和複雜性各不相同,從具有少數屬性的平面對象到具有多層嵌套和陣列字段的較大結構。我想要做的是呈現對象的簡單表示,可能是ul。從那裏我可以添加東西,以允許可點擊展開/摺疊行爲或其他東西。呈現HTML中的任意JSON
我知道這將需要遞歸函數,我可以調用頂層,然後將再次調用它發現的每個嵌套級別。我對Javascript的使用並不是很有信心,而且我也不太瞭解它。我也遇到了一個事實,即我不知道屬性名稱 - 不同的對象將具有不同的屬性,名稱不同。
有沒有一種比較簡單的方法來呈現這樣的對象,還是我需要改變服務器發送的JSON格式?編輯: JSON的樣本可能不會有太大的幫助;他們差異很大。就像我說的,有些很簡單,有些很複雜。最簡單的對象是這樣的:
{
"id": "5",
"category": "12",
"created": "25-Sep-2012"
}
而最複雜的一個我目前是這樣的:
{
"Attempted":"EditUser",
"Exception":{
"Message":"Something",
"TargetSite":"somewhere",
"Inner Exception":{
"Message":"Something else",
"TargetSite":"somewhere.core",
"Inner Exception":{
"Message":"Another message",
"TargetSite":"something.core.subr",
"Inner Exception":{
"Message":"Object reference not set to an instance of an object.",
"TargetSite":"System.Web.Mvc.ActionResult Update(Int32, System.String, System.String)",
"StackTrace":[
"at Application.Controllers.AdminController.Update(Int32 id, String email, String password) in c:\\Docs\\Apps\\Main\\MyBranch\\Source\\Application\\Application\\Controllers\\AdminController.cs:line 123"
],
"Inner Exception":{
}
}
}
}
},
"details":{
"userEmail":"[email protected]",
"userId":"25",
"userRole":"User"
}
}
正如你可以看到,這是一個錯誤日誌的JSON表示,包括由軟件引發的異常(敏感細節已被遮蓋)。 JSON對象是從審計日誌的「detail」字段生成的,因此將來可能會記錄其他事件,其細節與我現在預測的任何內容格式不同,這就是爲什麼我要處理任意JSON而沒有依賴於瞭解格式。
你可以張貼的樣本截圖和成熟你的JSON .. – coolguy
如果你可以在jsfiddle.com這樣的地方粘貼一個樣本從你的json中幫助我們幫助你 –