JSONThing ReadThing(JsonReader r) { switch (r.TokenType) { case JsonToken.Null: r.Read(); return(new JSONValueLeaf { Value = string.Empty }); case JsonToken.Comment: r.Read(); return(ReadThing(r)); case JsonToken.Integer: case JsonToken.Float: case JsonToken.Boolean: case JsonToken.String: var ret = new JSONValueLeaf { Value = r.Value.ToString() }; r.Read(); return(ret); case JsonToken.StartObject: return(ReadObject(r)); case JsonToken.StartArray: return(ReadArray(r)); default: throw new InvalidDataException("Object, array or string value expected"); } }
JSONThing ReadThing(JsonReader r) { switch (r.TokenType) { case JsonToken.Null: r.Read (); return new JSONValueLeaf{ Value = string.Empty }; case JsonToken.Comment: r.Read (); return ReadThing (r); case JsonToken.Integer: case JsonToken.Float: case JsonToken.Boolean: case JsonToken.String: var ret = new JSONValueLeaf{ Value = r.Value.ToString() }; r.Read (); return ret; case JsonToken.StartObject: return ReadObject(r); case JsonToken.StartArray: return ReadArray(r); default: throw new InvalidDataException("Object, array or string value expected"); } }