c# 解析Json格式数据
//类似于一下json格式数据
/*{
“Country”:“中国”,
"Capital“:“北京”,
“Province”:[
{"City":"南京",
"County":"XX"},
{"City":"长沙",
"County":"XX"},
]
}*/
//生成json格式数据
public class TestJson
{
public string Country;
public string Captial;
public list<Data>Province = new list<Data>();//Province列表
}
public list<Data>ProvinceEx = new list<Data>();
public class Data
{
public string City;
public string County;
}
public string CreateJson()
{
//需要生成多少个城市Num
string city = "南京|上海|长沙|北京";
string[] cityData = new string[0];
//解析City获取城市
cityData = city.Split('|');
int count = cityData.Length;
ProvinceEx.Clear();//清空列表
for(int i = 0 ; i < count ; i ++)
{
Data Test = new Data
{
City = cityData[i],
Country = "XX", //此值可改
};
ProvinceEx.Add(Test);
}
TestJson GetData = new TestJson
{
Country = "中国",
Captial = "北京",
Province = ProvinceEx,
};
//以上生成了数据
//生成得到json格式数据 //需要添加Newtonsoft.Json文件
string StrJsonValue = Newtonsoft.Json.JsonConvert.SerializeObject(GetData,Newtonsoft.Json.Formatting.Indented);
}
//解析类似上述的json格式字符串
//与数据格式要一一对应,对应的名称也需要
public class ParseJson
{
public string Country;
public string Captial;
public list<Data>Province = new list<Data>();//Province列表
}
//假如我只想要city的值,也可只定义city就行
//有一些json格式值很多,但是我们需求的就那么几个,就无需每次值都定义一次
public class Data
{
public string City;
// public string County;
}
//StrJsonValue :json格式数据
public string ParseJsonData(string StrJsonValue)
{
ParseJson PSNJson = JsonConvert.DeserializeObject<ParseJson>(StrJsonValue);
//获取值
string CountryEx = PSNJson.Country;
string CaptialEx = PSNJson.Captial;
string DataEX = "";
for(int i = 0;i < PSNJson.Province.Count;i++)
{
//可获取Data不同的值
DataEX = DataEX + PSNJson.Province[i].City + "|";
}
//解析DataEX即可获取需要的各个City值。
}