1. public string ListToJson<T>(IList<T> list, string jsonName)
  2. {
  3. StringBuilder Json = new StringBuilder();
  4. if (string.IsNullOrEmpty(jsonName))
  5. jsonName = list[].GetType().Name;
  6. Json.Append("{\"" + jsonName + "\":[");
  7. if (list.Count > )
  8. {
  9. for (int i = ; i < list.Count; i++)
  10. {
  11. T obj = Activator.CreateInstance<T>();
  12. PropertyInfo[] pi = obj.GetType().GetProperties();
  13. Json.Append("{");
  14. for (int j = ; j < pi.Length; j++)
  15. {
  16. Type type = pi[j].GetValue(list[i], null).GetType();
  17. Json.Append("\"" + pi[j].Name.ToString() + "\":" + StringFormat(pi[j].GetValue(list[i], null).ToString(), type));
  18.  
  19. if (j < pi.Length - )
  20. {
  21. Json.Append(",");
  22. }
  23. }
  24. Json.Append("}");
  25. if (i < list.Count - )
  26. {
  27. Json.Append(",");
  28. }
  29. }
  30. }
  31. Json.Append("]}");
  32. return Json.ToString();
  33. }
  34.  
  35. /// <summary>
  36. /// 过滤特殊字符
  37. ///
  38. /// </summary>
  39. /// <param name="s"></param>
  40. /// <returns></returns>
  41. private static string String2Json(String s)
  42. {
  43. StringBuilder sb = new StringBuilder();
  44. for (int i = ; i < s.Length; i++)
  45. {
  46. char c = s.ToCharArray()[i];
  47. switch (c)
  48. {
  49. case '\"':
  50. sb.Append("\\\""); break;
  51. case '\\':
  52. sb.Append("\\\\"); break;
  53. case '/':
  54. sb.Append("\\/"); break;
  55. case '\b':
  56. sb.Append("\\b"); break;
  57. case '\f':
  58. sb.Append("\\f"); break;
  59. case '\n':
  60. sb.Append("\\n"); break;
  61. case '\r':
  62. sb.Append("\\r"); break;
  63. case '\t':
  64. sb.Append("\\t"); break;
  65. default:
  66. sb.Append(c); break;
  67. }
  68. }
  69. return sb.ToString();
  70. }
  71.  
  72. /// <summary>
  73. /// 格式化字符型、日期型、布尔型
  74. /// </summary>
  75. /// <param name="str"></param>
  76. /// <param name="type"></param>
  77. /// <returns></returns>
  78. private string StringFormat(string str, Type type)
  79. {
  80. if (type == typeof(string))
  81. {
  82. str = String2Json(str);
  83. str = "\"" + str + "\"";
  84. }
  85. else if (type == typeof(DateTime))
  86. {
  87. str = "\"" + str + "\"";
  88. }
  89. else if (type == typeof(bool))
  90. {
  91. str = str.ToLower();
  92. }
  93. return str;
  94. }

Ajax接收控制器数据:

  1. function chufa()
  2. {
  3.  
  4. $.ajax({
  5. url: "/StatisticAnalysis/GetData", //后台处理程序
  6. type: "post", //数据发送方式
  7. async: false,
  8. dataType: "text", //接受数据格式
  9. error: function () {
  10. alert("服务器没有返回数据,可能服务器忙,请重试");
  11. },
  12. success: function (json) {
  13.  
  14. alert(json)
  15. }
  16. });
  17. }

Json转译的更多相关文章

  1. json转译的问题

    今天遇到一个之前没遇到的情况 这边调用接口的时候,一串json数据我直接解析成php的时候,太长导致我在使用 $json = json_encode($list);转译成的时候,里面有一个数据是时间戳 ...

  2. JSON数据展示神器:react-json-view(常用于后台网站)

    一.react-json-view - npm 官方定义: RJV is a React component for displaying and editing javascript arrays ...

  3. 【技术累积】【点】【java】【27】@JSONField

    @JSONField 该注解隶属于阿里fastjson,方便fastjson处理对象时的一些操作 源码 @Retention(RetentionPolicy.RUNTIME) @Target({ El ...

  4. 解决JSON.stringify()自动将中文转译成unicode的方法

    最近在工作中,发现在IE8下JSON.stringify()自动将中文转译为unicode编码,原本选择的中文字符,传到后台变为了unicode编码,即\u****的形式.查找资料后发现,与标准的JS ...

  5. 关于json数据中的多反斜杆转译--StringEscapeUtils.unescapeJava(踩过的坑)

    一.需求 现有一个字符串str String str = "{\\\"name\\\":\\\"spy\\\",\\\"id\\\\&quo ...

  6. [译]Flutter JSON和序列化

    [译]Flutter JSON和序列化   很难想象一个移动应用程序不需要与Web服务器通信或在某些时候容易存储结构化数据.制作网络连接的应用程序时,迟早需要消耗一些好的旧JSON. 本指南介绍了如何 ...

  7. [译] 在Web API 2 中实现带JSON的Patch请求

    原文链接:The Patch Verb in Web API 2 with JSON 我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用 ...

  8. Qt浅译:JSON Support in Qt(JSON只有六种数据类型)

    JSON Support in Qt   Qt5之后开始提供对处理JSON数据的支持,JSON是一种Interter数据交换的数据格式.   JSON 用于存储结构化的数据,JSON有6种基本数据类型 ...

  9. (译)package.json详解

    原文链接 概述 本文囊括了所有package.json文件中你需要知道的细节.注意package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量.该文件描述的很多行为都受np ...

随机推荐

  1. OC 加密

    //MD5加密的结果为128位的二进制数. //所以有128 / 8 = 16字节(8位一个字节). //每八位表示两个16进制数. //MD5 有32个16进制数. //语言层次的所有摘要算法步骤类 ...

  2. Exception in thread "http-bio-8081-exec-3" java.lang.OutOfMemoryError: PermGen space

    前言: 在http://www.cnblogs.com/wql025/p/4865673.html一文中我曾描述这种异常也提供了解决方式,但效果不太理想,现在用本文的方式,效果显著. 目前此项目只能登 ...

  3. Linq常用

    1.左关联查询var lst = from m in db.信息          join d in db.明细信息          on m.单号 equals d.单号 into mi     ...

  4. Ubuntu C++环境支持

    问题描述:         在Ubuntu中默认安装有gcc,但是只能编辑C程序,现在希望添加C++环境支持 问题解决:         首先是配置gcc,在ubuntu安装完成已经有gcc了(gcc ...

  5. 母函数入门笔记(施工中…

    定义:对于一个数列,它的母函数(即生成函数)为   为了对这个准确求值,我们设    举一个简单的例子 例1 对于数列 他的生成函数为 ,那么应用一下等比数列求和公式 这里由于 所以当时 那么   例 ...

  6. ZOJ Monthly, August 2014

    A Abs Problem http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5330 找规律题,构造出解.copyright@ts ...

  7. jQuery中的&& ||

    jQuery1.2.6 clean方法中有这么一段第一眼看去会让人晕掉的方法.完全不知其所言. “||, && 可以这样用?”,“这段东西最终返回的是个什么对象啊?” // Trim ...

  8. [转载]Spring Bean Definition Inheritance

    Following is the configuration file Beans.xml where we defined "helloWorld" bean which has ...

  9. HDU 1753 大明A+B(字符串模拟,简单题)

    简单题,但要考虑一些细节: 前导0不要,后导0不要,小数长度不一样时,有进位时,逆置处理输出 然后处理起来就比较麻烦了. 题目链接 我的代码纯模拟,把小数点前后分开来处理,写的很繁杂,纯当纪念——可怜 ...

  10. hihocoder 1084 扩展KMP && 2014 北京邀请赛 Justice String

    hihocoder 1084 : http://hihocoder.com/problemset/problem/1084 北京邀请赛 Just  String http://www.bnuoj.co ...