Метод EnumerateObject
Метод EnumerateObject
сохраняет порядок полей из
текста JSON. На массиве бросает
InvalidOperationException.
Элементы массива -
EnumerateArray.
Синтаксис
foreach (JsonProperty prop in element.EnumerateObject())
{
}
Пример
Давайте посчитать поля объекта:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
using JsonDocument doc = JsonDocument.Parse("{\"Name\":\"abcde\",\"Count\":12345}");
int count = 0;
foreach (JsonProperty prop in doc.RootElement.EnumerateObject())
{
count++;
}
int res = count;
Console.WriteLine(res);
}
}
Результат выполнения кода:
2
Пример
Давайте прочитать имя первого поля:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
using JsonDocument doc = JsonDocument.Parse("{\"Name\":\"abcde\",\"Count\":12345}");
string res = null;
foreach (JsonProperty prop in doc.RootElement.EnumerateObject())
{
res = prop.Name;
break;
}
Console.WriteLine(res);
}
}
Результат выполнения кода:
"Name"
Пример
Давайте вызвать метод на массиве:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
using JsonDocument doc = JsonDocument.Parse("[1,2,3]");
try
{
foreach (JsonProperty prop in doc.RootElement.EnumerateObject())
{
}
}
catch (InvalidOperationException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
EnumerateArray,
элементы массива -
GetProperty,
одно поле -
JsonObject,
изменяемый объект -
JsonElement,
обзор