最近在处理一个JSON文档,想提取中国行政区划数据的时候,需要乃至JSON解析的工具,比较了下,.net系列的Newtonsoft.Json是一个性能比较优越的工具。
网上关于它的解析方式也挺多,但是关于整个文档的解析方面还是不够的。
JSON的格式如下所示。
{'code':'110000','parentCode':'0','level':'1','name':'北京市','latitude':'39.929986','longitude':'116.395645'}
因此创建一个JSON相应的类对象。
public class Area { public string code { get; set; } public string parentCode { get; set; } public string level { get; set; } public string name { get; set; } public string latitude { get; set; } public string longitude { get; set; } }
然后通过一段代码,来实现对整个中国行政区域的解析。 Areas = new List<Area>(); var serializer = new JsonSerializer(); //string json = new StreamReader(stream).ReadToEnd(); using (var sr = new StreamReader(Application.StartupPath + "//area.json")) { string strline = ""; while ((strline = sr.ReadLine()) != null) { Area area = JsonConvert.DeserializeObject<Area>(strline); Areas.Add(area); } //Areas areas = JsonConvert.DeserializeObject<Areas>(json); }
通过上述代码,可以快速实现对整个中国行政区划名称及相应经纬度信息的解析。