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); }