Postman怎么在JSON里传表情符号_Postman Unicode字符测试技巧

落静吖_9457

落静吖_9457

2026-11-07

890人浏览

原创

Postman发送含表情JSON报400或乱码,主因是HTTP未显式声明UTF-8编码,服务端误按ISO-8859-1解析;需在Postman设Body编码为UTF-8、Header加Content-Type: application/json; charset=utf-8,并确保后端容器、JSON解析器、数据库均支持UTF-8。

postman怎么在json里传表情符号_postman unicode字符测试技巧

Postman 发送含表情符号的 JSON 时返回 400 或乱码

直接在 Postman 的 raw JSON 中输入 ?、?、?‍? 等表情,后端收到的可能是 ??、\uFFFD 或直接报 400 Bad Request。根本原因不是 Postman 不支持,而是 HTTP 协议默认不强制 UTF-8 编码,服务端未显式声明字符集时容易按 ISO-8859-1 解析。

实操建议:

  • 确保 Postman 的 Body 编码为 UTF-8:粘贴表情前,右键编辑框 → “Encoding” → 选 UTF-8(部分旧版需手动确认)
  • 在 Headers 中显式设置:Content-Type: application/json; charset=utf-8(注意不是只写 application/json)
  • 避免用 Windows 记事本编辑 JSON 再复制——它默认保存为 ANSI/GBK,会悄悄损坏表情字符
  • Spring Boot 用户注意:@RequestBody 默认能正确解析 UTF-8,但若用了自定义 StringHttpMessageConverter 且未设 setSupportedMediaTypes 包含 application/json;charset=utf-8,就会失败

JSON 字符串里写 Unicode 转义序列(如 \uD83D\uDE00)为什么无效

Postman 的 raw + JSON 模式会把 \uD83D\uDE00 当作普通字符串字面量,不会自动转成 ?。这是因为 JSON 规范本身支持 Unicode 转义,但 Postman 并不执行运行时解码——它只是把原始文本发出去,解码责任在服务端 JSON 解析器。

实操建议:

  • 想用转义写法,必须确保后端解析库(如 Jackson、Fastjson)开启 Unicode 解码(Jackson 默认开启;Fastjson 1.2.51+ 默认也支持)
  • 更稳妥的做法是直接输入原生表情:Postman 本身完全支持 UTF-8 输入,比手写转义更直观、不易出错
  • 如果必须用转义(比如从日志里复制),请确认是合法的 UTF-16 代理对(surrogate pair),单个 \uD83D 无效,必须成对出现,例如 "\uD83D\uDE00"

Spring Boot 接收含表情的 JSON 报错:HttpMessageNotReadableException

典型错误信息:JSON parse error: Invalid UTF-8 start byte 0xf0 或 Could not write JSON: Invalid surrogate pair。这说明 Spring MVC 的消息转换器在读或写阶段遇到了非法字节序列。

常见原因与修复:

Postman 12.27.7
Postman 12.27.7

Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。

下载
  • Tomcat 嵌入式容器默认未启用 URI 编码统一处理:在 application.properties 加 server.tomcat.uri-encoding=UTF-8
  • 使用 @RequestBody 接收 String 后手动解析(如 new JSONObject(jsonStr)),却忘了指定编码:应改用 new String(jsonBytes, StandardCharsets.UTF_8)
  • 反序列化到实体类字段时,数据库字段类型不支持 UTF-8(如 MySQL 的 utf8 实际只支持 BMP 字符,需改用 utf8mb4)
  • Fastjson 用户注意:JSON.parseObject(str, clazz) 在低版本中对四字节 emoji 支持不稳定,建议升级到 1.2.83+ 或切换 Jackson

用 Pre-request Script 自动注入表情用于批量测试

需要对同一接口反复发送不同表情组合(比如测试昵称、评论、标签字段),手动改 JSON 效率低还易错。Postman 的 Pre-request Script 可动态生成含表情的 JSON。

示例脚本(插入到请求的 Pre-request Script 标签页):

const emojis = ["?", "?", "?", "?"];
const randomEmoji = emojis[Math.floor(Math.random() * emojis.length)];
const payload = {
  "content": `测试内容 ${randomEmoji}`,
  "timestamp": new Date().toISOString()
};
pm.variables.set("json_payload", JSON.stringify(payload));

然后在 Body → raw 中写:{{json_payload}},并确保 Header 仍设为 Content-Type: application/json; charset=utf-8。

关键提醒:

  • JSON.stringify() 生成的字符串天然是 UTF-8 安全的,无需额外编码
  • 不要在脚本里用 unescape() 或 decodeURIComponent() 处理表情,它们不适用于 UTF-8 字节流
  • 若需固定表情而非随机,直接赋值字符串即可,如 const payload = {"tag": "✅ 已完成"};

表情符号看似小问题,但涉及编码链路多个环节:Postman 编辑器、HTTP 协议头、Web 容器解码、JSON 解析器、JVM 字符集、数据库字段类型。漏掉任意一环,都可能让 ? 变成 。最省心的做法,是全程坚持 UTF-8 显式声明,少依赖“默认”。

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

2023.10.13

5090

8

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

20

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

20

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

20

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

20

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Postman Native Git工作流指南
Postman Native Git工作流指南

共0课时 | 0人学习

Postman Vault密钥管理指南
Postman Vault密钥管理指南

共0课时 | 0人学习

Postman集合运行器使用指南
Postman集合运行器使用指南

共0课时 | 0人学习