省市区 【构建对象】转换成json
来源:互联网 发布:java的日志框架 编辑:程序博客网 时间:2024/04/30 08:07
省市区 构建对象转换成json
using NewOjbect.Models;using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Script.Serialization;namespace NewOjbect.Controllers{ public class HomeController : Controller { salesEntities db = new salesEntities(); JavaScriptSerializer jsz = new JavaScriptSerializer(); // // GET: /Home/ public ActionResult Index() { ViewData["abc"] = Pro_city(); return View(); } public string Pro_city() { var list_pro = db.S_Province.ToList(); //省 var list_city = db.S_City.ToList(); //市 var list_District = db.S_District.ToList(); //区县 var result = from f in list_pro //遍历省,构建对象 //遍历市,构建对象 select new { proName = f.ProvinceName, cities = (from c in list_city where c.ProvinceID == f.ProvinceID select new { //遍历区县(其实遍历的结果就是一个“区县名”的list集合) c.CityName, disName = (from d in list_District where c.CityID == d.CityID select d.DistrictName) }) }; var s = new { jsonData = result }; //再构建一个自定义对象 string strJson = jsz.Serialize(s);//将这个对象转换成一个json return strJson; } }}省市区三个表
转成的json的结果
上面的构建的对象仅仅是包含省名,市名,区名称。同样我们构建的对象也可以包含三个表所有的数据:如下
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
using NewOjbect.Models;using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Script.Serialization;namespace NewOjbect.Controllers{ public class HomeController : Controller { salesEntities db = new salesEntities(); JavaScriptSerializer jsz = new JavaScriptSerializer(); // // GET: /Home/ public ActionResult Index() { ViewData["abc"] = pro_cityTow(); return View(); } //上面的构建的对象仅仅是包含省名,市名,区名称。同样我们构建的对象也可以包含三个表所有的数据 public string pro_cityTow() { var list_pro = db.S_Province.ToList(); //省 var list_city = db.S_City.ToList(); //市 var list_District = db.S_District.ToList(); //区县 //遍历省 var result = from f in list_pro //构建对象 select new { proName = f, cities = (from c in list_city //遍历市 where c.ProvinceID == f.ProvinceID select new //构建对象 { c, //遍历区县(其实遍历的结果就是一个“区县”的list集合) disName = (from d in list_District where c.CityID == d.CityID select d) }) }; var s = new { jsonData = result }; //再构建一个自定义对象 string strJson = jsz.Serialize(s);//将这个对象转换成一个json return strJson; } }}
最终转成的json效果
public string getCountryDepJson() { List<CR_BC_PROVINCE> list_Province = db.CR_BC_PROVINCE.ToList(); //省 List<CR_BC_CITY> list_City = db.CR_BC_CITY.ToList(); //市 List<CR_BC_CITY_DISTRICT> list_District = db.CR_BC_CITY_DISTRICT.ToList(); //区 List<CR_BC_STORE> list_Store = db.CR_BC_STORE.ToList(); //所有门店 string result = new JObject( new JProperty("countryDeps", new JArray( from p in list_Province select new JObject ( new JProperty("allDepCount", ( from s in list_Store join c in list_City on s.CR_BC_CITY_ID equals c.CR_BC_CITY_ID where c.CR_BC_PROVINCE_ID == p.CR_BC_PROVINCE_ID select 1 ).Count()), new JProperty("cityCount", (list_City.Where(x => x.CR_BC_PROVINCE_ID == p.CR_BC_PROVINCE_ID).Count())), new JProperty("provinceid", p.CR_BC_PROVINCE_ID), new JProperty("provincename", p.PROVINCE_NAME), new JProperty("provincesimplename", p.PROVINCE_SIMPLE_NAME), new JProperty("cityDeps", new JArray( from c in list_City where c.CR_BC_PROVINCE_ID == p.CR_BC_PROVINCE_ID select new JObject ( new JProperty("allDistrictCount", 0), //默认为0 new JProperty("cityenname", c.EN_NAME), new JProperty("cityid", c.CR_BC_CITY_ID), new JProperty("cityname", c.CITY_NAME), new JProperty("depcount", (list_Store.Where(x => x.CR_BC_CITY_ID == c.CR_BC_CITY_ID).Count())) ) ) ) ) ) ) , new JProperty("municipalityDeps", new JArray( from c in list_City where c.MUNICIPALITY == true select new JObject ( new JProperty("allDistrictCount", (list_Store.Where(x => x.CR_BC_CITY_ID == c.CR_BC_CITY_ID).Count())), new JProperty("cityenname", c.EN_NAME), new JProperty("cityid", c.CR_BC_CITY_ID), new JProperty("cityname", c.CITY_NAME), new JProperty("depcount", (list_District.Where(x => x.CR_BC_CITY_ID == c.CR_BC_CITY_ID).Count())), new JProperty("districtDeps", new JArray( from d in list_District where c.CR_BC_CITY_ID == d.CR_BC_CITY_ID select new JObject ( new JProperty("districtDepcount", (list_Store.Where(x => x.CR_BC_CITY_DISTRICT_ID == d.CR_BC_CITY_DISTRICT_ID).Count())), new JProperty("districtid", d.CR_BC_CITY_DISTRICT_ID), new JProperty("districtname", d.CITY_DISTRICT_NAME) ) ) ) ) ) ) ).ToString(); return result; }
0 0
- 省市区 【构建对象】转换成json
- 对象转换成JSON
- json转换成Java对象
- eval 转换成json对象
- List转换成JSON对象
- 字符串转换成json对象
- java对象转换成json
- ValuesQuerySet对象 转换成json
- Object对象转换成json
- jackson 对象转换成json
- eval转换成json对象
- 将JSON对象转换成JSON字符串
- json字符串转换成json对象
- C#,json字符串转换成Json对象
- JSON 对象 转换 成JSON字符串格式
- json对象转换成json字符串
- JSON字符串转换成JSON对象
- JSON对象转换成JSON字符串
- Android:混淆文件proguard.cfg详解
- iOS中的崩溃类型
- 程序猿的简历一
- 使用Qt / C + +通过JNI调用Java代码
- spring 之自动代理
- 省市区 【构建对象】转换成json
- Scrapy研究探索2
- 使用Volley中遇到一些的问题
- [定义] Precision Recall F1 Accuracy
- ArcGIS Engine中 IGeometry和Json字符串的相互转换
- Object-C Runtime机制
- 程序猿的简历二
- 【源码剖析】tornado-memcached-sessions —— Tornado session 支持的实现(一)
- 常用保存状态指令