Пример #1
0
        private bool ExtractInitData(string s)
        {
            string[] delim  = { "var initData = {};", "initData.globalLocale =" };
            string[] delim2 = { "initData." };
            string[] delim3 = { " = " };
            char[]   delim4 = { ' ', ';', '\n', '	'};

            string[] s1 = s.Split(delim, StringSplitOptions.None);
            if (s1.Length < 3)
            {
                return(false);
            }

            string s2 = s1[1];

            string[] datum = s2.Split(delim2, StringSplitOptions.RemoveEmptyEntries);

            string product = datum[1].Split(delim3, StringSplitOptions.None)[1];
            string meta    = datum[2].Split(delim3, StringSplitOptions.None)[1];
            string grade   = datum[3].Split(delim3, StringSplitOptions.None)[1];

            product = product.TrimEnd(delim4);
            meta    = meta.TrimEnd(delim4);
            grade   = grade.TrimEnd(delim4);

            _product = JsonConvert.DeserializeObject <Product>(product);
            _meta    = JsonConvert.DeserializeObject <Meta>(meta);
            _grades  = JsonConvert.DeserializeObject <Grade[]>(grade);

            GradeList.Clear();
            BlockList.Clear();

            Grade defaultGrade = new Grade();

            defaultGrade.gradeId = 0;
            defaultGrade.name    = "전체";
            Meta.Draw.BlockInfo defaultBlock = new Meta.Draw.BlockInfo();
            defaultBlock.blockId   = 0;
            defaultBlock.blockName = "전체";
            GradeList.Add(defaultGrade);
            BlockList.Add(defaultBlock);

            foreach (Grade item in _grades)
            {
                GradeList.Add(item);
            }
            foreach (Meta.Draw.BlockInfo item in _meta.draw.blockInfo)
            {
                BlockList.Add(item);
            }

            return(true);
        }