public override bool MoveToNextArrayValue(ObjectReader reader) { // Check for the end of the array if (reader.ReadToNextArrayValue()) { reader.SetState(StartArrayValueState.State); return true; } else { reader.SetState(EndArrayState.State); return false; } }
public override void ReadPrimitiveValue(ObjectReader reader) { reader.SetState(EndArrayValueState.State); }
public override bool ReadStartArray(ObjectReader reader) { reader.SetState(EndArrayValueState.State); if (reader.ReadStartArrayToken()) { // Start of a new array reader.PushState(StartArrayState.State); return true; } else { // No array (null) return false; } }
public override bool ReadStartObject(ObjectReader reader) { reader.SetState(EndArrayValueState.State); return InitialState.State.ReadStartObject(reader); }
public override bool MoveToNextObjectMember(ObjectReader reader) { // Try to read the next member key if (reader.ReadNextObjectMemberKey()) { // Next member key reader.SetState(MemberKeyState.State); return true; } else { // No more members (end of object) reader.SetState(EndObjectState.State); return false; } }
public override void ReadPrimitiveValue(ObjectReader reader) { reader.SetState(MemberValueState.State); }