Next.js接口如何返回无引号的纯字符串响应?
解决Next.js API返回纯字符串不带引号的问题
直接使用res.send()替代res.json()即可实现返回不带引号的纯字符串响应,修改后的代码如下:
export default async function handler( req: NextApiRequest, res: NextApiResponse ) { const response = 'value'; res.status(200).send(response); }
原因说明:
res.json()会自动对传入的内容执行JSON序列化,所以字符串类型的参数会被包裹成双引号格式的JSON字符串返回。res.send()支持直接发送原始文本内容,不会进行JSON序列化处理,因此能输出不带引号的纯字符串。
关于你遇到的JSON解析错误:
你尝试转换值为JSON时出现的SyntaxError: Unexpected token v in JSON at position 0错误,是因为纯字符串value本身不是合法的JSON格式(合法的JSON字符串必须被双引号包裹),直接解析会导致语法错误,而这并不是实现纯字符串响应的正确途径。
内容的提问来源于stack exchange,提问作者Christian Ribeiro
相关产品推荐
相关产品推荐

