通过json_decode()解析时,我正在尝试处理错误的json数据。我正在使用以下脚本:
if(!json_decode($_POST)) {
echo "bad json data!";
exit;
}
如果$ _POST等于:
'{ bar: "baz" }'
然后,json_decode会正确处理错误并吐出“错误的json数据!”;但是,如果我将$ _POST设置为“无效数据”之类的东西,它将给我:
Warning: json_decode() expects parameter 1 to be string, array given in C:\server\www\myserver.dev\public_html\rivrUI\public_home\index.php on line 6
bad json data!
我是否需要编写自定义脚本来检测有效的json数据,还是有其他一些漂亮的方法来检测到此数据?
以下是有关以下几点的信息json_decode
:
null
出现错误时null
在没有错误的情况下返回:当JSON字符串包含null
为了解决警告问题,一种解决方案是使用@
运算符
(我不经常建议使用它,因为它会使调试更加困难…但是在这里,没有太多选择) :
$_POST = array(
'bad data'
);
$data = @json_decode($_POST);
然后,您必须测试是否$data
为null
-,并避免在JSON字符串中json_decode
返回null
for
的情况null
,您可以检查json_last_error
,which (引用) :
返回上一次JSON解析发生的最后错误(如果有)。
这意味着您必须使用以下代码:
if ($data === null
&& json_last_error() !== JSON_ERROR_NONE) {
echo "incorrect data";
}
我有一个布局,要求用户输入名称和日期。用于输入我使用的日期https://github.com/ErNaveen/MaterialDateTimePicker库,也可以使用OkHttpLibrary将数据发送到服务器。当我在输入两个数据后单击提交按钮时,我得到了以下错误。响应的作用域。。。 错误:
在我的spring boot应用程序中,Logback正在将我抛到下面错误 我的登录配置是:
我添加了IBM在https://mobilefirstplatform.ibmcloud.com/blog/2019/05/24/google-play-64-bit-requirement/中提到的64位库 但在Pixel 3和Android9中启动应用程序并尝试初始化JSON存储时出错。 我使用的是MFP7.1。
Im在JSON数据的第1行第1列获得未捕获的SyntaxError:JSON.parse:意外字符 下面是JSON文件中的数据示例。 我如何在JS中从这个JSON文件中检索数据? 这样写一个JSON是不是不可能的? 当我在浏览器中打开文件时,它看起来像一个整洁的JSON数组?
我试图打印一个图像在兄弟SDK在我的应用程序。 如果有人知道如何修理,请帮助我:(