JsonNode обновления API в .NET 8
Разбираем новые API в .NET 8 для JsonNode и JsonArray: GetValueKind, GetPropertyName, GetElementIndex, ReplaceWith и ParseAsync.
В рамках .NET 8 у JsonNode и JsonArray появилось несколько новых пунктов в API. О deep copy и deep equality мы уже рассказывали в предыдущей статье, но это далеко не всё.
GetValueKind
public JsonValueKind GetValueKind(JsonSerializerOptions options = null);
Возвращает JsonValueKind для текущего экземпляра.
GetPropertyName
public string GetPropertyName();
Возвращает имя свойства текущего узла в родительском объекте. Бросает InvalidOperationException, если родитель не является JsonObject.
GetElementIndex
public int GetElementIndex();
Возвращает индекс текущего узла в родительском JsonArray. Бросает InvalidOperationException, если родитель не является JsonArray.
ReplaceWith<T>
public void ReplaceWith<T>(T value);
Заменяет указанный узел переданным значением.
ParseAsync
public static Task<JsonNode?> ParseAsync(
Stream utf8Json,
JsonNodeOptions? nodeOptions = null,
JsonDocumentOptions documentOptions = default,
CancellationToken cancellationToken = default);
Асинхронно разбирает поток данных в кодировке UTF-8, представляющий одно JSON-значение, в JsonNode.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.