JSON转换类(上)

1、过滤特殊字符

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 '\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();

}

2、格式化字符型、日期型、布尔型

private static 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();

}

else if (type != typeof(string) && string.IsNullOrEmpty(str))

{

str = "\"" + str + "\"";

}

return str;

}

相关推荐
pe7er1 小时前
window管理开发环境篇 - 持续更新
前端·后端
We་ct2 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
JAVA面经实录9176 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
陈随易6 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星6 小时前
javascript之事件代理/事件委托
前端
许彰午7 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
陈随易8 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
Bat U8 小时前
JavaEE|多线程初阶(七)
java·开发语言
里欧跑得慢10 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒10 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端