Ejemplo n.º 1
0
        private static INode ReadNameValue(this Unpacker unpacker)
        {
            string name = unpacker.ReadQuoteString();
            Node   node = new Node();

            node.Name = name;
            unpacker.SkipWhiteSpace();
            if (unpacker.Read() != ':')
            {
                throw new FormatException("invalid json name:value format");
            }
            unpacker.SkipWhiteSpace();
            // json value
            char c = unpacker.Peek();

            if (c == '{')
            {
                node.SubNode = unpacker.ReadObject();
            }
            else if (c == '[')
            {
                node.SubNode = unpacker.ReadArray();
            }
            else
            {
                node.Value = unpacker.ReadWritable(); //fully compartale with json
            }
            return(node);
        }