尝试将php对象数组保存到json文件中,但布尔属性保存在字符串中:
[
{
"title" : "My Page",
"url" : "mypage",
"type" : "content",
"final" : "false" // supposed to be simply false
}
]
为什么? ......有没有我可以使用的旗帜或什么?目前我正在使用JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK
答案 0 :(得分:3)
我感觉转换工作正常,并且该值实际上是一个字符串。您可以使用gettype($var)
确认。
请注意,URL编码仅为您提供字符串值。您可以尝试切换到JSON。
为了让PHP能够处理application / json,添加这个函数,然后调用它:
function convertJsonBody() {
$methodsWithDataInBody = array(
'POST',
'PUT',
);
if (
isset($_SERVER['CONTENT_TYPE'])
&& (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
&& isset($_SERVER['REQUEST_METHOD'])
&& in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
) {
$_POST = json_decode(file_get_contents('php://input'), TRUE);
foreach($_POST as $key => $value) {
$_REQUEST[$key] = $value;
}
}
}