Beispiel #1
0
        /// <summary>
        /// 解析Json Array对象
        /// </summary>
        /// <param name="startIndex">当前解析字符索引</param>
        /// <returns>Json对象</returns>
        private JsonObject GetJsonArray(ref int startIndex)
        {
            if (_jsonCharArray[startIndex] != '[')
            {
                throw new JsonReadException(startIndex, "字符位置[" + startIndex + "]处,Json字符串解析Array错");
            }
            JsonArray jsonArray = new JsonArray(startIndex);

            startIndex = SkipBlank(++startIndex);
            if (_jsonCharArray[startIndex] == ']')
            {
                startIndex++;
                return(jsonArray);
            }
            while (true)
            {
                jsonArray.AddJsonObject(GetJsonObject(ref startIndex));
                startIndex = SkipBlank(startIndex);
                if (_jsonCharArray[startIndex] == ',')
                {
                    startIndex++;
                    continue;
                }
                else if (_jsonCharArray[startIndex] == ']')
                {
                    break;
                }
                else
                {
                    throw new JsonReadException(startIndex, "字符位置[" + startIndex + "]处,Json字符串解析Array错");
                }
            }
            startIndex++;
            return(jsonArray);
        }