C# 产生JSON串

 

由于JSON是现在前后台传输的标准,快速生产JSON串现在很是重要啊,

找了那么久,找到一个还算简单的。

 

 

        ///<summary>
        ///查询省市区
        /// </summary>
        public string SearchArea()
        {
            string Data = HttpRuntime.Cache["AreaName"] as string;

            if (Data == null)
            {
                IList<Mobile.Domain.Entities.Area> AreaList = AreaRepository.LoadByCondition("From  Area", new string[] { }, new object[] { });

               var AreaListFirst = AreaList.Where((name) => { return name.Parent_ID == 0; });
                //所有省的集合
               List<JObject> JAreaListFirst = new List<JObject>();
               foreach (var item in AreaListFirst)
               {
                   var Second = from r in AreaList where r.Parent_ID == item.ID select r;
                   //所有市的集合
                   List<JObject> JAreaListSecond = new List<JObject>(); ;
                   foreach (var item2 in Second)
                   {
                       var Three = from r in AreaList where r.Parent_ID == item2.ID select r;
                       //所有区的集合
                       List<JObject> JAreaListThree = new List<JObject>(); ;
                       foreach (var item3 in Three)
                       { 
                           JObject obj1 = JObject.FromObject(new
                           {
                               id = item3.ID.ToString(),
                               value =item3.Name
                           });
                           JAreaListThree.Add(obj1);
                       }
                       JObject obj2 = JObject.FromObject(new
                       {
                           id = item2.ID.ToString(),
                           value = item2.Name,
                           childs = JAreaListThree
                       });
                       JAreaListSecond.Add(obj2);
                   }
                   JObject obj3 = JObject.FromObject(new
                   {
                       id = item.ID.ToString(),
                       value = item.Name,
                       childs = JAreaListSecond
                   });

                   //将吉林省放到第一位
                       if (item.Name == "吉林省")
                       {
                           JAreaListFirst.Insert(0, obj3);
                       }
                       else
                       {
                           JAreaListFirst.Add(obj3);
                       }
                       
               }
               string PP = Newtonsoft.Json.JsonConvert.SerializeObject(JAreaListFirst, Newtonsoft.Json.Formatting.Indented);
               HttpRuntime.Cache.Add("AreaName", PP, null, DateTime.MaxValue, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Normal, null);
               return PP;
            }
            else
            {
                return Data;
            }
        }

     

 

 

希望能找个更好点的。

转载于:https://www.cnblogs.com/cwmizlp/p/9973340.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值