Newtonsoft.Json.JsonTextReader.Read C# (CSharp) Метод

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

Reads the next JSON token from the stream.
public Read ( ) : bool
Результат bool
        public override bool Read()
        {
            EnsureBuffer();

            while (true)
            {
                switch (_currentState)
                {
                    case State.Start:
                    case State.Property:
                    case State.Array:
                    case State.ArrayStart:
                    case State.Constructor:
                    case State.ConstructorStart:
                        return ParseValue();
                    case State.Object:
                    case State.ObjectStart:
                        return ParseObject();
                    case State.PostValue:
                        // returns true if it hits
                        // end of object or array
                        if (ParsePostValue())
                        {
                            return true;
                        }
                        break;
                    case State.Finished:
                        if (EnsureChars(0, false))
                        {
                            EatWhitespace(false);
                            if (_isEndOfFile)
                            {
                                SetToken(JsonToken.None);
                                return false;
                            }
                            if (_chars[_charPos] == '/')
                            {
                                ParseComment(true);
                                return true;
                            }

                            throw JsonReaderException.Create(this, "Additional text encountered after finished reading JSON content: {0}.".FormatWith(CultureInfo.InvariantCulture, _chars[_charPos]));
                        }
                        SetToken(JsonToken.None);
                        return false;
                    default:
                        throw JsonReaderException.Create(this, "Unexpected state: {0}.".FormatWith(CultureInfo.InvariantCulture, CurrentState));
                }
            }
        }

Usage Example

Пример #1
0
 public void ProcessMessage(string message)
 {
     Console.WriteLine("incoming: " + message);
     JsonReader jsonReader = new JsonTextReader(new StringReader(message));
     string messageHeader = "";
     while (jsonReader.Read())
     {
         if ((jsonReader.TokenType == JsonToken.PropertyName) && (jsonReader.Value.ToString() == "Request"))
         {
             jsonReader.Read();
             messageHeader = jsonReader.Value.ToString();
             break;
         }
     }
     if (messageHeader.Length > 0)
     {
         BaseProcessor processor = GetProcessor(messageHeader);
         if (processor != null)
         {
             Type messageType = GetMessageType(messageHeader);
             if (messageType != null)
             {
                 processor.Process((BaseMessage) JsonConvert.DeserializeObject(message, messageType));
             }
         }
     }
 }
All Usage Examples Of Newtonsoft.Json.JsonTextReader::Read