当数据只是一个字符串时,Expressjs JSON无效

时间:2013-08-07 16:22:12

标签: json express

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

我只是发送string。不是对象,只是string。这是在它被解雇之前的请求。 JSON.parse可以很好地处理有效负载。根据{{​​3}},字符串被正确地双引号。

enter image description here

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

1 个答案:

答案 0 :(得分:5)

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

  

JSON基于两种结构:

     

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

     

有序的值列表。多数情况   语言,这被实现为数组,向量,列表或序列。

如果你想要非严格版本,你可以选择使用只使用JSON.parse的选项来获取它,这可以解析原始JSON值的字符串表示,例如' true&#39 ;,'" stackoverflow"',' 42'等等。

app.use(connect.bodyParser({strict: false}));