Exemple #1
0
        /// <summary>
        /// 从JsonReader的当前位置读一个JSON对象,并存储到参数中
        /// </summary>
        /// <param name="jr">源JR</param>
        /// <param name="json">写入对象</param>
        /// <param name="endtype">结束字符</param>
        public static void ReadToJSON(JsonReader jr, JSON json, out int endtype)
        {
            if (jr.Current != '{') throw new Exception("should be '['");

            QuoteString name;
            object value;
            int type;

            while (true)
            {
                jr.ReadPropertyName(out name);
                jr.ReadPorperty(out value, out type);
                json.Add(name, value);

                switch (type)
                {

                    case ',':
                        continue;
                    default:
                    case '}':
                        jr.ReadBlank();
                        type = jr.Read();
                        goto READ_END;
                }
            }

                READ_END:
                endtype = type;
        }