Posted 26 July 2021, 2:35 am EST
We managed to solve it. We did this:
var sheetTag = (JsonConvert.DeserializeObject(worksheet.Tag.ToString()) as Newtonsoft.Json.Linq.JObject).ToObject<YourTagObjectClass>();
...[update sheetTag]...
var jsonSheetTag = JObject.FromObject(sheetTag, new Newtonsoft.Json.JsonSerializer {
ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(),
NullValueHandling = NullValueHandling.Ignore,
});
worksheet.Tag = new StringBuilder(jsonSheetTag.ToString());
The key was using the JObject.FromObject after serializing and StringBuilder when reassigning the tag to the worksheet.