ReadMember() публичный Метод

Reads a member with a given (case-sensitive) name and returns a JsonReader that can be used to read the value. Otherwise it throws an exception.
The caller should not use the returned JsonReader instance for any other purpose but reading the value. It is possible that this method will return the same instance as BaseReader or a separate instance.
/// A member with the requested name was not found. ///
public ReadMember ( string name ) : Jayrock.Json.JsonReader
name string
Результат Jayrock.Json.JsonReader
        public void OrderedReading()
        {
            FreeJsonMemberReadingHelper helper = CreateHelper(@"{ x: 123, y: 456, z: 789 }");

            Assert.AreEqual(123, helper.ReadMember("x").ReadNumber().ToInt32());
            Assert.AreEqual(456, helper.ReadMember("y").ReadNumber().ToInt32());
            Assert.AreEqual(789, helper.ReadMember("z").ReadNumber().ToInt32());
            Assert.AreEqual(JsonTokenClass.EndObject, helper.BaseReader.TokenClass);
        }
        public void EmptyTailReading()
        {
            FreeJsonMemberReadingHelper helper = CreateHelper(@"{ y: 456, x: 123, z: 789 }");

            Assert.AreEqual(123, helper.ReadMember("x").ReadNumber().ToInt32());
            Assert.AreEqual(456, helper.ReadMember("y").ReadNumber().ToInt32());
            Assert.AreEqual(789, helper.ReadMember("z").ReadNumber().ToInt32());
            JsonReader tail = helper.GetTailReader();

            tail.ReadToken(JsonTokenClass.EndObject);
            Assert.IsFalse(tail.Read());
        }
        public void TailMemberAfterUnorderedReader()
        {
            FreeJsonMemberReadingHelper helper = CreateHelper(@"
                { y: 456, x: 123, z: 789, comment: tail }");

            Assert.AreEqual(123, helper.ReadMember("x").ReadNumber().ToInt32());
            Assert.AreEqual(456, helper.ReadMember("y").ReadNumber().ToInt32());
            Assert.AreEqual(789, helper.ReadMember("z").ReadNumber().ToInt32());
            JsonReader reader = helper.BaseReader;

            Assert.AreEqual("comment", reader.ReadMember());
            Assert.AreEqual("tail", reader.ReadString());
        }
        public void ReadingSameMemberMoreThanOnce()
        {
            FreeJsonMemberReadingHelper helper = CreateHelper("{foo:bar}");

            helper.ReadMember("foo").Skip();
            Assert.IsNull(helper.TryReadMember("foo"));
        }
        public void TailReading()
        {
            FreeJsonMemberReadingHelper helper = CreateHelper(@"
                { y: 456, 
                  x: 123, 
                  z: 789, 
                  obj1: { foo: bar }, 
                  comment: null, 
                  arr: [ 123, 456, 789 ],
                  obj2: { a: 1, b: 2, }, }");

            Assert.AreEqual(123, helper.ReadMember("x").ReadNumber().ToInt32());
            helper.ReadMember("comment").ReadNull();
            JsonReader reader = helper.BaseReader;

            Assert.AreEqual(JsonTokenClass.Member, reader.TokenClass);
            Assert.AreEqual("arr", reader.Text);
            JsonReader tail = helper.GetTailReader();

            Assert.AreEqual("y", tail.ReadMember());
            Assert.AreEqual(456, tail.ReadNumber().ToInt32());
            Assert.AreEqual("z", tail.ReadMember());
            Assert.AreEqual(789, tail.ReadNumber().ToInt32());
            Assert.AreEqual("obj1", tail.ReadMember());
            tail.ReadToken(JsonTokenClass.Object);
            Assert.AreEqual("foo", tail.ReadMember());
            Assert.AreEqual("bar", tail.ReadString());
            tail.ReadToken(JsonTokenClass.EndObject);
            Assert.AreEqual("arr", tail.ReadMember());
            tail.ReadToken(JsonTokenClass.Array);
            Assert.AreEqual(123, tail.ReadNumber().ToInt32());
            Assert.AreEqual(456, tail.ReadNumber().ToInt32());
            Assert.AreEqual(789, tail.ReadNumber().ToInt32());
            tail.ReadToken(JsonTokenClass.EndArray);
            Assert.AreEqual("obj2", tail.ReadMember());
            tail.StepOut();
            Assert.IsFalse(reader.Read());
        }
        public void CannotReadNonExistingMember()
        {
            FreeJsonMemberReadingHelper helper = CreateHelper(@"{ y: 456, x: 123, z: 789 }");

            helper.ReadMember("foo");
        }