zoukankan      html  css  js  c++  java
  • 输出JSON问题

    拼接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);

            }

  • 相关阅读:
    PHP小案例
    PHP函数
    PHP基础语法
    PHP基础知识
    tp5.1前台模板的系统变量输出
    PHP常用方法很有意义的博客网址
    VS 2010(2005)Unicode使用cximage库Load函数问题
    坑爹的CFile::Remove
    固定CDockablePane的一些小技巧
    (转)理解Bitblt、StretchBlt与SetDIBitsToDevice、StretchDibits
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/1797983.html
Copyright © 2011-2022 走看看