Json.net: как игнорировать нулевые элементы в массиве DeSerializing JSONC#

Место общения программистов C#
Anonymous
Json.net: как игнорировать нулевые элементы в массиве DeSerializing JSON

Сообщение Anonymous »

У меня есть этот json: < /p>

Код: Выделить всё

{
"Variable1": "1",
"Variable2": "50000",
"ArrayObject": [null]
}
< /code>
У меня есть эти заглушки: < /p>
public class Class1
{
public string Variable1 { get; set; }
public string Variable2 { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public List ArrayObject { get; set; }
}

public class ArrayObject
{
public string VariableArray1 { get; set; }
public string VariableArray2 { get; set; }
}
< /code>
Я хотел бы игнорировать нулевые элементы внутри массива, предпочтительно, используя настройки JSON или какой -то конвертер. Таким образом, результат должен быть пустым массивом в этом случае или NULL. < /P>
Вот код, который я пытался сделать эту работу. < /P>
class Program
{
static void Main(string[] args)
{
string json = @"{
""Variable1"": ""1"",
""Variable2"": ""50000"",
""ArrayObject"": [null]
}";

var settings = new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
NullValueHandling = NullValueHandling.Ignore,
};

Class1 class1 = JsonConvert.DeserializeObject(json, settings);

Console.WriteLine(class1.ArrayObject == null);
Console.WriteLine(class1.ArrayObject.Count());

foreach (var item in class1.ArrayObject)
{
Console.WriteLine(item.VariableArray1);
Console.WriteLine(item.VariableArray2);
Console.WriteLine("#######################");
}
}

public class Class1
{
public string Variable1 { get; set; }
public string Variable2 { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public List ArrayObject { get; set; }
}

public class ArrayObject
{
public string VariableArray1 { get; set; }
public string VariableArray2 { get; set; }
}
}
Я думал, что использование nullvaluehandling = nullvaluehandling.ignore заставит его работать. Видимо нет. Есть идеи?>

Подробнее здесь: https://stackoverflow.com/questions/629 ... ing-a-json

Вернуться в «C#»