C#拼JSON和解JSON_简易用法

2022-10-20 12:16:13

C#拼JSON和解JSON_简易用法

1、安装NuGet程序包
2、引用命名空间
3、拼一个简单的JSON
4、解析一个JSON

安装NuGet程序包

在这里插入图片描述

引用命名空间

在这里插入图片描述

拼一个简单的JSON(点击这个按钮控制台即可输出)

privatevoidbutton1_Click(object sender,EventArgs e)//按钮事件函数{string UUID="3151315";var a=new{
         uuid= UUID};string json= JsonConvert.SerializeObject(a, Formatting.Indented);
     Console.WriteLine(json);}privatestringreduce_json(string str)//去除json中的回车、空格、换行符、和制表符{if(str!="")return str.Replace("\n","").Replace(" ","").Replace("\r","").Replace("\t","");elsereturn str;}

在这里插入图片描述

解析一个嵌套的JSON

{"name":"Tom","age":25,"marry":true,"children":[{"name":"May","age":2},{"name":"Kendy","age":3},{"name":"Mark","age":1}]}//需要接续此json

需要新添加一个命名空间
在这里插入图片描述

privatevoidbutton2_Click(object sender,EventArgs e)//按键事件函数{string result="{\"name\":\"Tom\",\"age\":25,\"marry\":true,\"children\":[{\"name\":\"May\",\"age\":2},{\"name\":\"Kendy\",\"age\":3},{\"name\":\"Mark\",\"age\":1}]}";
    result=escape_json(result);//转义jsonif(IsValidJson(result)!=false)//判断返回数据是否是json字符串{dynamic obj= JsonConvert.DeserializeObject(result);//将json字符串转成一个对象if(obj.children.Count>0){var code= obj.children;//解析JSON,直接找到你所需要的数据foreach(var itemin code){if(string.Equals("Kendy", item.name.ToString(), StringComparison.OrdinalIgnoreCase)){
                    Console.WriteLine(item.age.ToString());}}}elsereturn;}else{
        MessageBox.Show("返回非JSON字符串","错误提示");return;}}privatestringescape_json(string str)//去转义{string result_str= str.Replace("\"{","{");
    result_str= result_str.Replace("}\"","}");
    result_str= result_str.Replace("\"[{","[{");
    result_str= result_str.Replace("}]\"","}]");
    result_str= result_str.Replace("\\","");return result_str;}privatestaticboolIsValidJson(string strInput)//用来被调用的检验字符串是否为json,也可返回错误点{
    strInput= strInput.Trim();if((strInput.StartsWith("{")&& strInput.EndsWith("}"))||//For object(strInput.StartsWith("[")&& strInput.EndsWith("]")))//For array{try{var obj= JToken.Parse(strInput);returntrue;}catch(JsonReaderException jex){//Exception in parsing json
            Console.WriteLine(jex.Message);returnfalse;}catch(Exception ex)//some other exception{
            Console.WriteLine(ex.ToString());returnfalse;}}else{returnfalse;}}

按键发生后输出数字3

  • 作者:HX科技
  • 原文链接:https://blog.csdn.net/weixin_50183638/article/details/117228265
    更新时间:2022-10-20 12:16:13