事实证明,搜索这个是很困难的,因为大多数人都有一个他们已经序列化的对象(错误地)。
我只是发送一个string
. 不是一个对象,只是一个string
. 这是在它被触发之前的请求。JSON.parse
可以很好地处理有效载荷。根据规范,该字符串正确地被双引号引起来。
Express JS 只是给出了一个非常简单的错误:Error: invalid json
. 我需要做什么才能只发送一个字符串作为有效负载?
默认情况下express.bodyParser()
,它基于connect
json
中间件以严格模式运行。严格模式只会解析对象或数组,严格遵守 JSON 规范。
JSON 建立在两种结构之上:
名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
值的有序列表。在大多数语言中,这被实现为数组、向量、列表或序列。
如果您想要非严格版本,您可以选择使用仅使用的选项来获取它JSON.parse
,这可以解析原始 JSON 值的字符串表示形式,例如 'true'、'"stackoverflow"'、'42' 和很快。
app.use(connect.bodyParser({strict: false}));