墩墩学习记录

这篇博客介绍了如何在C#中解析和生成JSON格式数据。示例展示了如何使用Newtonsoft.Json库创建和解析包含城市信息的JSON对象。内容涵盖了数据结构的定义、数据填充以及如何通过JsonConvert进行序列化和反序列化操作。
摘要由CSDN通过智能技术生成

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值。
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值