GetNext() public method

public GetNext ( ) : JsonParserPiece
return JsonParserPiece
Example #1
0
        public JsonNode Obtain()
        {
            JsonNode n = new JsonNode(JsonNodeType.KeyValue);

            JsonNode        last;
            JsonNode        cur      = null;
            bool            preColon = true;
            string          curName  = "";
            JsonParserPiece f;

            while ((f = parser.GetNext()) != null)
            {
                last = cur;
                switch (f.Type)
                {
                case JsonParserPieceType.OpenCurly:
                    cur = new JsonNode(JsonNodeType.KeyValue);
                    break;

                case JsonParserPieceType.OpenBracket:
                    break;

                case JsonParserPieceType.CloseCurly:
                    break;

                case JsonParserPieceType.CloseBracket:
                    break;

                case JsonParserPieceType.Number:
                    preColon = true;
                    break;

                case JsonParserPieceType.String:
                    if (preColon)
                    {
                        curName = f.Value;
                    }
                    else
                    {
                        cur.Type = JsonNodeType.Native;
                    }
                    break;

                case JsonParserPieceType.Word:
                    preColon = true;
                    break;

                case JsonParserPieceType.Colon:
                    preColon = false;
                    break;

                case JsonParserPieceType.Equals:
                    break;

                case JsonParserPieceType.Comma:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            return(n);
        }