zoukankan      html  css  js  c++  java
  • Json转译

         public  string ListToJson<T>(IList<T> list, string jsonName)
            {
                StringBuilder Json = new StringBuilder();
                if (string.IsNullOrEmpty(jsonName))
                    jsonName = list[0].GetType().Name;
                Json.Append("{"" + jsonName + "":[");
                if (list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        T obj = Activator.CreateInstance<T>();
                        PropertyInfo[] pi = obj.GetType().GetProperties();
                        Json.Append("{");
                        for (int j = 0; j < pi.Length; j++)
                        {
                            Type type = pi[j].GetValue(list[i], null).GetType();
                            Json.Append(""" + pi[j].Name.ToString() + "":" + StringFormat(pi[j].GetValue(list[i], null).ToString(), type));
    
                            if (j < pi.Length - 1)
                            {
                                Json.Append(",");
                            }
                        }
                        Json.Append("}");
                        if (i < list.Count - 1)
                        {
                            Json.Append(",");
                        }
                    }
                }
                Json.Append("]}");
                return Json.ToString();
            }
    
            /// <summary>    
            /// 过滤特殊字符    
            ///   
            /// </summary>    
            /// <param name="s"></param>    
            /// <returns></returns>    
            private static string String2Json(String s)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < s.Length; i++)
                {
                    char c = s.ToCharArray()[i];
                    switch (c)
                    {
                        case '"':
                            sb.Append("\""); break;
                        case '\':
                            sb.Append("\\"); break;
                        case '/':
                            sb.Append("\/"); break;
                        case '':
                            sb.Append("\b"); break;
                        case 'f':
                            sb.Append("\f"); break;
                        case '
    ':
                            sb.Append("\n"); break;
                        case '
    ':
                            sb.Append("\r"); break;
                        case '	':
                            sb.Append("\t"); break;
                        default:
                            sb.Append(c); break;
                    }
                }
                return sb.ToString();
            }
    
            /// <summary>    
            /// 格式化字符型、日期型、布尔型    
            /// </summary>    
            /// <param name="str"></param>    
            /// <param name="type"></param>    
            /// <returns></returns>  
            private  string StringFormat(string str, Type type)
            {
                if (type == typeof(string))
                {
                    str = String2Json(str);
                    str = """ + str + """;
                }
                else if (type == typeof(DateTime))
                {
                    str = """ + str + """;
                }
                else if (type == typeof(bool))
                {
                    str = str.ToLower();
                }
                return str;
            }

    Ajax接收控制器数据:

    function chufa()
                {
              
                    $.ajax({
                        url: "/StatisticAnalysis/GetData",  //后台处理程序  
                        type: "post",    //数据发送方式  
                        async: false,
                        dataType: "text",   //接受数据格式             
                        error: function () {
                            alert("服务器没有返回数据,可能服务器忙,请重试");
                        },
                        success: function (json) {
                          
                            alert(json)
                        }
                    });
                }
  • 相关阅读:
    npm, node, pm2 使用笔记
    没加证书的域名通过https访问,错误的访问到有证书的域名项目--已解决
    mysql数据库大表加索引
    上传大文件失败
    ifame 与父页面进行数据交互(跨域)
    windows平台编译PHP及扩展 和 踩过的坑
    vim 使用笔记
    git 在pull/push指定密钥文件
    记一次使用Xshell登陆提示所选用户密钥未在远程主机上注册
    学习网站与参考文档
  • 原文地址:https://www.cnblogs.com/lk-kk/p/4794787.html
Copyright © 2011-2022 走看看