/// <summary> /// Initializes the current instance from a JSON document using the specified JSON reader. /// </summary> /// <param name="data">The UTF-8 encoded JSON document being deserialized.</param> /// <param name="reader">The JSON reader used during deserialization.</param> internal void InitFromJson(byte[] data, ref Utf8JsonReader reader) { Debug.Assert(reader.TokenType == JsonTokenType.StartObject); string propertyName = null; while (reader.Read()) { switch (reader.TokenType) { case JsonTokenType.PropertyName: { propertyName = mPool.GetStringFromUtf8(reader.ValueSpan); break; } case JsonTokenType.StartObject: { switch (propertyName) { case "index": Index = mPool.GetBulkResponseItemIndex(); Index.InitFromJson(data, ref reader); break; default: // unexpected property, skip all children! reader.Skip(); break; } break; } case JsonTokenType.EndObject: { return; } default: { // unexpected token, skip! reader.Skip(); break; } } } throw new ArgumentException("The reader did not deliver a closing 'EndObject'."); }
public Item_Index Index; // JSON field: 'index' /// <summary> /// Resets the item for re-use. /// </summary> public void Reset() { mPool.Return(Index); Index = null; }