如何解析json 需要取出所有的数据

{
"button": [{
"type": "mini",
"name": "测试",
"url": "https://www.baidu.com",
"sub_button": []
}, {
"name": "客服",
"sub_button": [{
"type": "mini",
"name": "客服测1",
"url": "https://www.baidu.com",
"sub_button": []
}, {
"type": "view",
"name": "客服测2",
"url": "https://www.baidu.com",
"sub_button": []
}, {
"type": "mini",
"name": "客服测2",
"url": "https://www.baidu.com",
"sub_button": []
}]
}, {
"type": "mini",
"name": "个人",
"url": "https://www.baidu.com",
"sub_button": []
}]
}

C#   , 如何解析, 需要取出所有的数据

public class Rootobject
{
    public Button[] button { get; set; }
}

public class Button
{
    public string type { get; set; }
    public string name { get; set; }
    public string url { get; set; }
    public Sub_Button[] sub_button { get; set; }
}

public class Sub_Button
{
    public string type { get; set; }
    public string name { get; set; }
    public string url { get; set; }
    public object[] sub_button { get; set; }
}

Rootobject rootobject = JsonConvert.DeserializeObject<Rootobject>("你的json字符串")

这是自定义菜单吧,我今天刚好解决了这个问题,我给你贴下代码,你就明白了。

  public class Menu
    {
        /// <summary>
        /// 一级菜单
        /// </summary>
     
          public string type { get; set; }
          public string name { get; set; }
          public string key { get; set; }
          public string url { get; set; }
          public Sub_Button sub_button { get; set; }
      
      /// <summary>
      /// 二级菜单
      /// </summary>
      public class Sub_Button
      {
          public string type { get; set; }
          public string name { get; set; }
          public string key { get; set; }
          public string url { get; set; }
          public string media_id { get; set; }
          public string appid { get; set; }
          public string pagepath { get; set; }

      }
    }
    public string JsonMenu()
        {
            List<Menu> MenuModel = new List<Menu>();
            MenuModel[0].type = "view";
            MenuModel[0].name = "首页";
            MenuModel[0].url = "https://dev.sonluk.com.cn/CRMmobile/CRM/Public/GetCode?place=WX";

            MenuModel[0].type = "view";
            MenuModel[0].name = "WEUI";
            MenuModel[0].url = "http://dev.sonluk.com.cn/WEUI/CRM/Public/GetCode?place=WX";

            MenuModel[0].type = "view";
            MenuModel[0].name = "测试";
            MenuModel[0].url = "http://dev.sonluk.com.cn/WXTest/Test/SignIn";

            return Newtonsoft.Json.JsonConvert.SerializeObject(MenuModel);
        }

复制这个json。然后 打开vs--编辑--选择性粘贴--将json复制小蜜蜂论坛顶帖机为class

然后会出现一个Model

接着调用json.net
var q=JsonConvert.DeserializeObject<Model>("你的json");
q就是你要的了。

发布了27 篇原创文章 · 获赞 0 · 访问量 1083

猜你喜欢

转载自blog.csdn.net/netyou/article/details/104265013