Как удалить пустую строку значений json в сложном объекте json?
Я пытаюсь загрузить значения JSON в AWS Dynamo, и похоже, что это дает мне ошибку типа 400, когда я загружаю значения, которые имеют какие-либо свойства С "" в качестве значений. Приложение, которое я пишу, - это приложение C#.
Как лучше всего удалить ключи, имеющие значение ""? Я видел, как удалить нулевые значения, но я не уверен, что это применимо.
Скажите:
{myObj: { x: "", y: "test str" }, myStr: "hello world!"}
Становится:
{myObj: { y: "test str" }, myStr: "hello world!"}
1 ответ:
Если вы используете Newtonsoft Json.NET библиотека , Вы можете играть с
JsonSerializerSettings
иDefaultValue
атрибутом:public class Rootobject { public Myobj myObj { get; set; } public string myStr { get; set; } } public class Myobj { [DefaultValue("")] public string x { get; set; } [DefaultValue("")] public string y { get; set; } } var originalSerializedObject = "{myObj: { x: \"\", y: \"test str\" }, myStr: \"hello world!\"}"; var deserializedObject = JsonConvert.DeserializeObject<Rootobject>(originalSerializedObject); var serializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore }; var newSerializedObject = JsonConvert.SerializeObject(deserializedObject, serializerSettings); Console.WriteLine(newSerializedObject); //{"myObj":{"y":"test str"},"myStr":"hello world!"}