Serializing an object using Json.Net causes Out of Memory exception

后端 未结 2 1059
遇见更好的自我
遇见更好的自我 2020-12-17 22:47

Disclaimer: I did went through most of the solution provided here but most of them were talking about OOM exception while Deserialization.

I am trying to serialize a

2条回答
  •  囚心锁ツ
    2020-12-17 23:26

    It is due to very large number of records you are trying to serialize, which occupies large memory. Solutions which I have found for this error as directly writing to the documents using StreamWriter(JsonWriter or TextWriter).

    If you have Object use TextWrite

    using (TextWriter textWriter = File.CreateText("LocalJsonFile.json"))
    {
        var serializer = new JsonSerializer();
        serializer.Serialize(textWriter , yourObject);
    }
    

    If you have string use StringWriter

      StringBuilder sb = new StringBuilder();
      StringWriter sw = new StringWriter(sb);
    
      using(JsonWriter textWriter = new JsonTextWriter(sw))
      {
         var serializer = new JsonSerializer();
         serializer.Serialize(textWriter, yourObject);
      }
    

提交回复
热议问题