<PackageReference Include="System.Text.Json" Version="9.0.0" />

JsonProperty

public struct JsonProperty
Represents a single property for a JSON object.
using System.Diagnostics; using System.Runtime.CompilerServices; namespace System.Text.Json { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] [DebuggerDisplay("{DebuggerDisplay,nq}")] public readonly struct JsonProperty { public JsonElement Value { get; } [System.Runtime.CompilerServices.Nullable(2)] private string _name { get; } public string Name => _name ?? Value.GetPropertyName(); internal bool NameIsEscaped => Value.ValueIsEscapedHelper(true); [System.Runtime.CompilerServices.Nullable(0)] internal ReadOnlySpan<byte> NameSpan { get { return Value.GetPropertyNameRaw(); } } [DebuggerBrowsable(DebuggerBrowsableState.Never)] private string DebuggerDisplay { get { if (Value.ValueKind != 0) return "\"" + ToString() + "\""; return "<Undefined>"; } } internal JsonProperty(JsonElement value) { _name = null; Value = value; } [System.Runtime.CompilerServices.NullableContext(2)] public bool NameEquals(string text) { return NameEquals(text.AsSpan()); } [System.Runtime.CompilerServices.NullableContext(0)] public bool NameEquals(ReadOnlySpan<byte> utf8Text) { return Value.TextEqualsHelper(utf8Text, true, true); } [System.Runtime.CompilerServices.NullableContext(0)] public bool NameEquals(ReadOnlySpan<char> text) { return Value.TextEqualsHelper(text, true); } internal bool EscapedNameEquals(ReadOnlySpan<byte> utf8Text) { return Value.TextEqualsHelper(utf8Text, true, false); } public void WriteTo(Utf8JsonWriter writer) { if (writer == null) ThrowHelper.ThrowArgumentNullException("writer"); JsonElement value; if (_name == null) { value = Value; value.WritePropertyNameTo(writer); } else writer.WritePropertyName(_name); value = Value; value.WriteTo(writer); } public override string ToString() { return Value.GetPropertyRawText(); } } }