Необработанное свойство с System.Text. Json - PullRequest
0 голосов
/ 01 апреля 2020

Интересно, есть ли способ сохранить необработанное содержимое одного указанного свойства c в моем JSON объекте.

public class MyClass {
  public int RegularNumber { get; set; }
  public string OtherStuff { get; set; }
  public RawJsonString SomeNestedData { get; set; }
}

На заднем плане, на стороне клиента SomeNestedData Объект является нерегулярным массивом строк и массивов. Я не могу найти правильный тип c#, который бы подходил, и десериализация свойства на сервере даже не требуется, потому что он сохраняется в базе данных как raw JSON.

Так что есть некоторые способ достичь чего-то вроде RawJsonString класса? Или мне лучше использовать IEnumerable<object>?

1 Ответ

1 голос
/ 01 апреля 2020

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

 public string SomeNestedData { get; set; } 

Если, однако, вы хотите или Можно создать модель данных, которые используются / хранятся для JSON данных для (де) сериализации. Вы можете убедиться, что только действительные JSON данные хранятся в поле, сделать что-то вроде следующего ...

private string JSONSomeNestedData  { get; set; }

public  {model}  SomeNestedData 
  { get { return Deserialize(JSONSomeNestedData); }}
  { set { JSONSomeNestedData = Serialize(value);  }}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...