Expressjs数据仅为字符串时JSON无效
事实证明,搜索这个很困难,因为大多数询问的人都有一个他们序列化(错误)的对象 我只是发送了一个Expressjs数据仅为字符串时JSON无效,json,express,Json,Express,事实证明,搜索这个很困难,因为大多数询问的人都有一个他们序列化(错误)的对象 我只是发送了一个字符串。不是对象,只是一个字符串。这是发射前的请求
字符串
。不是对象,只是一个字符串
。这是发射前的请求expressjs只给出了一个非常简单的错误:
error:invalid json
。我需要做什么才能只发送一个字符串作为有效负载?默认情况下,express.bodyParser()
,它基于connect
json
中间件运行。严格模式将只解析对象或数组,严格遵守JSON规范
JSON构建在两种结构上:
名称/值对的集合。在各种语言中,这是
实现为对象、记录、结构、字典、哈希表、键控
列表或关联数组
值的有序列表。大多数
语言,这是作为数组、向量、列表或序列实现的
如果您想要非严格版本,您可以选择使用一个只使用JSON.parse
的选项来获得它,这可以解析原始JSON值的字符串表示形式,如“true”、“stackoverflow”、“42”等
app.use(connect.bodyParser({strict: false}));
我并不是说你错了,但我很好奇为什么在这种情况下,
JSON.parse
不会失败。我认为这只是一种实现便利,特别是因为这是javascript,用javascript解析JSON或多或少相当于eval
。在任何其他语言中,JSON解析函数都可能引发对象或数组以外的任何异常代码>在节点中。它可以工作。答案更新为链接连接。默认情况下,它是在严格模式下解析的。在没有字符串模式的情况下操作是否会有性能损失?