拼接JSON字符串,有些特殊字符需要替换掉源代码:

        public static string ToJson(this 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 '\b': sb.Append("\\b"); break;

                    case '\f': sb.Append("\\f"); break;

                    case '\n': sb.Append("\\n"); break;

                    case '\r': sb.Append("\\r"); break;

                    case '\t': sb.Append("\\t"); break;

                    default: sb.Append(c); break;

                }

            }

            return sb.ToString();

        }

如果未替换这些特殊字符生成的JSON不会被正确解析。

推荐使用NET提供的JavaScriptSerializer对象生成JSON字符串。

源代码:

        public static string ToJson(this object obj){

            return ToJson(obj, null);

        }

        public static string ToJson(this object obj, IEnumerable<JavaScriptConverter> jsonConverters) {

            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (jsonConverters != null) serializer.RegisterConverters(jsonConverters ?? new JavaScriptConverter[0]);

            return serializer.Serialize(obj);

        }

相关文章:

  • 2021-11-18
  • 2021-05-12
  • 2022-12-23
  • 2022-02-13
  • 2022-01-14
  • 2021-08-09
  • 2022-12-23
  • 2021-11-19
猜你喜欢
  • 2022-12-23
  • 2021-06-09
  • 2021-09-20
  • 2021-10-26
  • 2021-10-23
  • 2022-02-10
  • 2022-12-23
相关资源
相似解决方案