输入中的特殊字符流明请求为空 JSON
Lumen request is empty on special characters in input JSON
我在 Lumen 中有一个网络服务。我为 API DOCS 集成了 Swagger。
输入Json
{"teamId" : 169, "teamName" : "lm", "teamDescription" : "lmnshhhdjj
dhhduxuh
dbbduxhehd
dhhdh8xbbbdhe uudbdhue", "nationality" : "AU", "timezone" : "0"}
这里的键teamDescription
是一个包含换行符的字符串。提交请求后,$request->all()
为空。但是对于普通字符串,这个问题不存在。
换行符在 JSON 中无效。那个无效的字符串是如何构造的?
看看这个创建 有效 JSON 数据编码字符串的简单演示:
<?php
$input = [
"teamId" => 169,
"teamName" => "lm",
"teamDescription" => "lmnshhhdjj
dhhduxuh
dbbduxhehd
dhhdh8xbbbdhe uudbdhue",
"nationality" => "AU",
"timezone" => "0"
];
var_dump(json_encode($input));
输出为:
string(144) "{"teamId":169,"teamName":"lm","teamDescription":"lmnshhhdjj \ndhhduxuh \ndbbduxhehd \ndhhdh8xbbbdhe uudbdhue","nationality":"AU","timezone":"0"}"
我在 Lumen 中有一个网络服务。我为 API DOCS 集成了 Swagger。
输入Json
{"teamId" : 169, "teamName" : "lm", "teamDescription" : "lmnshhhdjj
dhhduxuh
dbbduxhehd
dhhdh8xbbbdhe uudbdhue", "nationality" : "AU", "timezone" : "0"}
这里的键teamDescription
是一个包含换行符的字符串。提交请求后,$request->all()
为空。但是对于普通字符串,这个问题不存在。
换行符在 JSON 中无效。那个无效的字符串是如何构造的?
看看这个创建 有效 JSON 数据编码字符串的简单演示:
<?php
$input = [
"teamId" => 169,
"teamName" => "lm",
"teamDescription" => "lmnshhhdjj
dhhduxuh
dbbduxhehd
dhhdh8xbbbdhe uudbdhue",
"nationality" => "AU",
"timezone" => "0"
];
var_dump(json_encode($input));
输出为:
string(144) "{"teamId":169,"teamName":"lm","teamDescription":"lmnshhhdjj \ndhhduxuh \ndbbduxhehd \ndhhdh8xbbbdhe uudbdhue","nationality":"AU","timezone":"0"}"