Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Expressjs数据仅为字符串时JSON无效_Json_Express - Fatal编程技术网

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解析函数都可能引发对象或数组以外的任何异常在节点中。它可以工作。答案更新为链接连接。默认情况下,它是在严格模式下解析的。在没有字符串模式的情况下操作是否会有性能损失?