最近在处理一个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);
}
通过上述代码,可以快速实现对整个中国行政区划名称及相应经纬度信息的解析。