在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。

比如这么一段 content:

'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.'

则必须要转化为:

Lorem ipsum \"dolor\" sit amet,\nconsectetur \\ adipiscing elit.

那么有哪些字符是需要转义的呢?看下图:

如果 PHP 版本 > 5.2,json_encode 自带转义。如果是旧版本的 PHP 则可以用下面的函数。

# list from www.json.org: (\b backspace, \f formfeed)

public function escapeJsonString($value) {

$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");

$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");

$result = str_replace($escapers, $replacements, $value);

return $result;

}

经常会用到,记录一下,希望对你有帮助。

php mysql json 转义字符_PHP转义Json里的特殊字符的函数相关推荐

  1. mysql json转义字符_SQL对JSON的转义

    在 R 中执行一个SQL,涉及到双层JSON,也就是第二层的JSON包含一个转义符,\.用R的RMySQL 执行的时候第二层的转义符号会被去掉怎么办. 如果我直接复制 statement 在SQL中可 ...

  2. php怎么字符串转成json对象_php中json字符串转换为对象?

    在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象.json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象:设置函数的第二 ...

  3. php json转义字符函数,PHP转义Json里的特殊字符的函数

    在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要 ...

  4. PHP转义Json里的特殊字符的函数

    在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要 ...

  5. php json 特殊字符,PHP转义Json里的特殊字符的函数

    在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要 ...

  6. php mysql html 转义字符_php, html, javascript, mysql 之间的特殊字符处理

    特殊字符指在程序中有具有特殊的控制意义的字符,一般来讲各个程序语言所使用的特殊字符大部分都来源于传统的 C 语言,加上自身的扩展,便较为完整的满足了编程需求.    程序自身的转义处理能够解决自身的处 ...

  7. 开发中遇到的问题 JSON转义字符 String转小写 SQL查询

    JSON转义字符问题 和JSON转大小写 JSON转义字符问题 问题 StringEscapeUtils 解决办法 JSONObject parse = JSONObject.parseObject( ...

  8. php mysql n 转义,mysql转义字符_php mysql转义特殊字符函数

    摘要 腾兴网为您分享:php mysql转义特殊字符函数,中英翻译,小天才,完美root,听中国等软件知识,以及小苹果cf抽奖,宝贝,街兔电单车app,windows壁纸软件,自制表情包app,守卫剑 ...

  9. freemarker html转义字符,freemarker防止json转义

    说一下我的项目中遇到的一个问题,后台生成一个json字符串,然后在freemarker模板中,将json字符串转成json对象保存到localstorage中,刚开始不知道freemarker默认是输 ...

最新文章

  1. JAR冲突问题的解决以及运行状态下如何查看加载的类
  2. VS2010下安装配置OpenCV2.4.4
  3. C语言学习之编写一个C程序,运行时输人abc三个值,输出其中值最大者。
  4. 合成小丹(dp+二进制按位或+结论)
  5. java加减乘除运算顺序_java 实现加减乘除混合运算
  6. 如何快速弄懂一个新模型_如何评估创业项目是否靠谱?一个新的模型 | 创创锦囊...
  7. 禁用当前的账户win7_系统小技巧:服务客人 开启Windows 10来宾账户
  8. 每天一杯C_Visual Studio各个版本的区别和总结
  9. PyTorch 1.0 中文官方教程:PyTorch 介绍
  10. DenyHosts安装及配置
  11. 恢复Cisco路由器口令
  12. Primavera P6 数据字典分享
  13. 手把手教,使用Oracle VM VirtualBox虚拟机安装Windows XP系统,爷青回
  14. 使用Origin绘制折线图(入门)
  15. python爬虫实例(爬取航班信息)
  16. 渗透测试技术----工具使用(二)--Nessus工具下载及使用(安装在Kali上)
  17. linux下ppt转图片的方法
  18. Python数据分析与可视化概述(内容全面 附PPT)
  19. 十五、Fluent湿空气模拟-组分输运模型
  20. 5G笔记| 概述:5G网络架构(NSA/SA组网)、无线资源控制RRC、语音通话

热门文章

  1. 2021牛年春节海报PSD分层模板,简单一点就好!
  2. 简历不会做?集设网社区带来精致的个人网站供你参考
  3. 字体设计灵感合集|字体决定了设计
  4. Linux Jump Label/static-key机制详解
  5. TensorFlow 是一个用于人工智能的开源神器
  6. 模拟器显示空白图片_网吧模拟器下载:小游戏礼包
  7. mysql并发插入死锁_MySQL: 并发replace into的死锁问题分析-阿里云开发者社区
  8. mysql where不能用聚合函数_Mysql聚合函数对where语句筛选结果的影响
  9. gcc操作mysql 建表_用gcc批量建mysql库表
  10. 第三只眼使用局域网版本还是网络版好_让汽车的“第三只眼”更聪明更安全