Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.98 KB | None | 0 0
  1. namespace WEB.Core.Model.Data.Tree
  2. {
  3.     [JsonConverter(typeof(RawJsonConverter))]
  4.     public class RawJson
  5.     {
  6.         private JObject _json;
  7.  
  8.         public JObject GetJson() => _json;
  9.  
  10.         public void SetJson(JObject json) => _json = json;
  11.     }
  12.  
  13.     public class RawJsonConverter : JsonConverter<RawJson>
  14.     {
  15.         public override bool CanConvert(Type typeToConvert) => typeToConvert == typeof(RawJson);
  16.  
  17.         public override RawJson Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  18.         {
  19.             var rawJson = new RawJson();
  20.             var jsonString = JsonDocument.ParseValue(ref reader).RootElement.ToString();
  21.             rawJson.SetJson(JObject.Parse(jsonString));
  22.             return rawJson;
  23.         }
  24.  
  25.         public override void Write(Utf8JsonWriter writer, RawJson value, JsonSerializerOptions options)
  26.         {
  27.             JsonDocument.Parse(value.GetJson().ToString()).WriteTo(writer);
  28.         }
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement