zoukankan      html  css  js  c++  java
  • 获得省市 json 后台代码

    string connString = ConfigurationManager.ConnectionStrings["connStr"].ToString();
    SqlConnection conn = new SqlConnection(connString);
    conn.Open();
    string sql = "select *from [dbo].[CrmAddress]";
    SqlDataAdapter da = new SqlDataAdapter(sql,conn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    DataTable dt = ds.Tables[0];
    DataRow[] arraySheng = dt.Select("CityLevel=1").OrderBy(e => e["CityCode"]).ToArray();
    DataRow[] arrayShi = dt.Select("CityLevel=2").OrderBy(e => e["CityCode"]).ToArray();
    Hashtable htshengshi = new Hashtable();
    foreach (var itemsheng in arraySheng)
    {
    List<KeyValuePair<string, string>> shiList = new List<KeyValuePair<string, string>>();
    foreach (var itemshi in arrayShi)
    {
    if (itemsheng["CityCode"].ToString().Trim() == itemshi["ParentID"].ToString().Trim())
    {
    shiList.Add(new KeyValuePair<string, string>(itemshi["CityCode"].ToString(), itemshi["CityName"].ToString()));
    }
    }
    htshengshi.Add(itemsheng["CityCode"].ToString(), shiList);
    }
    DataTable dtsheng = new DataTable();
    foreach (DataColumn col in dt.Columns)
    {
    dtsheng.Columns.Add(col.ColumnName);
    }
    foreach (var sheng in arraySheng)
    {
    dtsheng.Rows.Add(sheng.ItemArray);
    }
    StringBuilder jsonResult = new StringBuilder();
    jsonResult.Append("{");
    jsonResult.Append(""result":"1",");
    jsonResult.Append(""data":{");
    jsonResult.Append(""province":");
    jsonResult.Append(ListToJsonString(dtsheng));
    jsonResult.Append(",");
    jsonResult.Append(""city":");
    jsonResult.Append("[");
    string fengefu = "";
    foreach (DictionaryEntry itemSheng in htshengshi)
    {
    jsonResult.Append(fengefu+"{"");
    jsonResult.Append(itemSheng.Key.ToString());
    jsonResult.Append("":[");
    List<KeyValuePair<string,string>> tempCityList= itemSheng.Value as List<KeyValuePair<string,string>>;
    string fengefu2 = "";
    foreach (KeyValuePair<string,string> itemShi in tempCityList)
    {
    jsonResult.Append(fengefu2+"{");
    jsonResult.Append(""");
    jsonResult.Append(itemShi.Key.ToString());
    jsonResult.Append("":"");
    jsonResult.Append(itemShi.Value.ToString());
    jsonResult.Append(""}");
    fengefu2 = ",";
    }
    jsonResult.Append("]");
    jsonResult.Append("}");
    fengefu = ",";
    }
    jsonResult.Append("]}}");
    context.Response.ContentType = "text/plain";
    context.Response.Write(jsonResult);
    }
    /// <summary>
    /// 将DataSet中数据,json化
    /// </summary>
    /// <param name="source"></param>
    /// <returns></returns>
    public string ListToJsonString(DataTable source)
    {
    StringBuilder result = new StringBuilder();
    string fengefu0 = "";
    foreach (DataRow row in source.Rows)
    {
    result.Append(fengefu0 + "{");
    fengefu0 = ",";
    string fengefu = "";
    foreach (DataColumn col in source.Columns)
    {
    result.Append(fengefu + """ + col.ColumnName + "":" + """ + row[col].ToString().Trim() + """);
    fengefu = ",";
    }
    result.Append("}");
    }

    result.Insert(0, "[");
    result.Append("]");

    return result.ToString();
    }

  • 相关阅读:
    poj1417(带权并查集+背包DP+路径回溯)
    poj1182(带权并查集)
    hdoj3038(带权并查集)
    poj1611(并查集简单应用)
    poj2236(并查集)
    莫队板子,例题
    离散化二维坐标
    P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    树链剖分板子
    P2486 [SDOI2011]染色 区间合并+树链剖分(加深对线段树的理解)
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/5891985.html
Copyright © 2011-2022 走看看