Визуализировать произвольный JSON в HTML

m написание страницы просмотра данных для визуализации объектов, отправляемых с сервера в виде JSON. Объекты JSON различаются по содержанию и сложности: от плоских объектов с несколькими атрибутами и до более крупных структур с несколькими слоями вложенности и массивами. Что я'Мне бы хотелось сделать простое представление объекта, вероятно, как ul. Оттуда я могу добавить материал, позволяющий кликабельно развернуть / свернуть поведение или что-то еще.

Я знаю, что для этого потребуется рекурсивная функция, которую я могу вызвать на верхнем уровне, которая затем будет вызываться снова для каждого обнаруженного уровня вложенности. Я'Я просто не очень уверен в 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"
   }
}

Как видите, этоs JSON-представление журнала ошибок, включая исключение, выдаваемое программным обеспечением (конфиденциальные детали скрыты). Объекты JSON генерируются изподробнее» поле журнала аудита, поэтому в будущем могут регистрироваться другие события, данные которых находятся в формате, отличном от того, что я предсказываю сейчас, поэтому яЯ хочу обработать произвольный JSON без знания формата.

Ответы на вопрос(4)

Ваш ответ на вопрос