Как десериализовать объект JObject для .NET

Я с радостью пользуюсь библиотекой Newtonsoft JSON . Например, я бы создал объект JObject из объекта .NET, в данном случае экземпляр Exception (может быть или не быть подclassом)

 if (result is Exception) var jobjectInstance = JObject.FromObject(result); 

теперь я знаю, что библиотека может десериализовать текст JSON (т.е. строку) на объект

 // only works for text (string) Exception exception = JsonConvert.DeserializeObject(jsontext); 

но я ищу:

 // now i do already have an JObject instance Exception exception = jobjectInstance.???? 

Понятно, что я могу перейти от JObject к тексту JSON, а затем использовать функциональность десериализации, но это кажется мне обратным.

Согласно этому сообщению , сейчас намного лучше:

 // pick out one album JObject jalbum = albums[0] as JObject; // Copy to a static Album instance Album album = jalbum.ToObject(); 

Документация: конвертировать JSON в тип

Из документации я нашел это

 JObject o = new JObject( new JProperty("Name", "John Smith"), new JProperty("BirthDate", new DateTime(1983, 3, 20)) ); JsonSerializer serializer = new JsonSerializer(); Person p = (Person)serializer.Deserialize(new JTokenReader(o), typeof(Person)); Console.WriteLine(p.Name); 

Определение classа для Person должно быть совместимо со следующим:

 class Person { public string Name { get; internal set; } public DateTime BirthDate { get; internal set; } } 

редактировать

Если вы используете последнюю версию JSON.net и не нуждаетесь в специальной сериализации, см. Ответ TienDo выше (или ниже, если вы повышаете меня: P), что является более кратким.

  • Сохранение / загрузка данных в Unity
  • Как вы делаете глубокую копию объекта в .NET (например, C #)?
  • Json.Net: свойство Serialize / Deserialize в качестве значения, а не как объект
  • Как изменить имена свойств при сериализации с помощью Json.net?
  • Как сериализовать словарь как часть его родительского объекта с помощью Json.Net
  • Можно ли выполнять бинарную сериализацию .NET в случае, если у вас нет исходного кода classа?
  • Сериализовать компоненты JavaFX
  • Json Сериализация Java, которая работает с GWT
  • Джерси + jackson JSON формат даты формат - как изменить формат или использовать пользовательские JacksonJsonProvider
  • JSON.Net выдает StackOverflowException при использовании
  • Сериализация типа Json.Net с полиморфным дочерним объектом
  • Давайте будем гением компьютера.