2

事实证明,搜索这个是很困难的,因为大多数人都有一个他们已经序列化的对象(错误地)。

我只是发送一个string. 不是一个对象,只是一个string. 这是在它被触发之前的请求。JSON.parse可以很好地处理有效载荷。根据规范,该字符串正确地被双引号引起来。

在此处输入图像描述

Express JS 只是给出了一个非常简单的错误:Error: invalid json. 我需要做什么才能只发送一个字符串作为有效负载?

4

1 回答 1

5

默认情况下express.bodyParser(),它基于connect json中间件以严格模式运行。严格模式只会解析对象或数组,严格遵守 JSON 规范。

JSON 建立在两种结构之上:

名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。

值的有序列表。在大多数语言中,这被实现为数组、向量、列表或序列。

如果您想要非严格版本,您可以选择使用仅使用的选项来获取它JSON.parse,这可以解析原始 JSON 值的字符串表示形式,例如 'true'、'"stackoverflow"'、'42' 和很快。

app.use(connect.bodyParser({strict: false}));
于 2013-08-07T16:33:23.433 回答