/// <summary>
/// 输出json数据
/// </summary>
/// <remarks>
/// <para>Date:2011-07-01</para>
/// <para>Author:太平盛世</para>
/// </remarks>
/// <returns></returns>
public string WriteJson()
{
//取数据库里面的所有的数据
Ilist<AreaTye> areaList = GetAreaTypeListAll();
//取省级集合,AT_ParentId=1的
//var provNameParentId = from area in areaList where area.AT_ParentId == 1 select area;
//所有的数据
var areaLinq = from area in areaList select area;
//筛选,筛选出省级集合,筛选调整 AT_ParentId == 0
var areaWhereParentId = areaLinq.Where(m => m.AT_ParentId == 0).ToList();
//省级名称 格式:"湖南省,浙江省,北京市,..."
string provName = string.Join(",", areaWhereParentId.Select(m => m.AT_Name).ToArray());
//省级编号 格式:"1,2,3,..."
string provCode = string.Join(",", areaWhereParentId.Select(m => m.AT_Id).ToArray());
//省级数量
int num = areaWhereParentId.Count();
var jsonstr = new StringBuilder();
jsonstr.Append("{");
var areaCityList = new List<AreaType>();
for(var i=0;i<num;i++)
{
var areaType = new AreaType();
areaType = areaWhereParentId[i] ;
int id = areaType.AT_Id;
areaCityList = areaLinq.Where(m => m.AT_ParentId == id).ToList();
var cityName = string.Join(",", areaCityList.Select(m => m.AT_Name).ToArray());
var cityCode = string.Join(",", areaCityList.Select(m => m.AT_Id).ToArray());
jsonstr.Append("\"");
jsonstr.Append("city");
jsonstr.Append(areaType.AT_Id);
jsonstr.Append("\"");
jsonstr.Append(":");
jsonstr.Append("\"");
jsonstr.Append(cityName);
jsonstr.Append("\"");
jsonstr.Append(",");
jsonstr.Append("\"");
jsonstr.Append("code");
jsonstr.Append(areaType.AT_Id);
jsonstr.Append("\"");
jsonstr.Append(":");
jsonstr.Append("\"");
jsonstr.Append(cityCode);
jsonstr.Append("\"");
jsonstr.Append(",");
}
jsonstr.Append("provinces:");
jsonstr.Append("\"");
jsonstr.Append(provName);
jsonstr.Append("\"");
jsonstr.Append(",");
jsonstr.Append("provcodes:");
jsonstr.Append("\"");
jsonstr.Append(provCode);
jsonstr.Append("\"");
jsonstr.Append("}");
return jsonstr.ToString();
}
地区表大致设计为
AT_Id :唯一标识,json里面对应的code
AT_Name : 地区中文名
AT_ParentId :父级id
AT_Level:级别,1为省级,2为市级
以上代码仅供参考,代码质量和效率无法得到保证,使用出现的后果自负..
希望能得到大家的宝贵意见和更好的解决方案级方法
您可能感兴趣的文章: