这里是mysql查询数组输出(var_dump($array)
)的结果,我想在json数组中转换这个数组并写入json文件
$object1 = new stdClass();
$object1->value = "6422";
$object1->date = "2017-03-03";
$object2 = new stdClass();
$object2->value = "700";
$object2->date = "2017-03-18";
$array = [
$object1,
$object2
];
我想将此数组转换为json数组,并将json数组写入json文件
$jsonEvents=json_encode($array); file_put_contents('./data/events.json',$jsonEvents);
但这段代码对我不起作用
var_dump($jsonEvents);
给了我string(4) "null"
个结果,但有$array
答案 0 :(得分:1)
所以我人为地创建了你的结构:
<?php
$object1 = new stdClass();
$object1->value = "6422";
$object1->date = "2017-03-03";
$object2 = new stdClass();
$object2->value = "700";
$object2->date = "2017-03-18";
$arr = [
$object1,
$object2
];
以下代码:
$jsonEvents = json_encode($arr);
var_dump($jsonEvents);
给了我:
string(74) "[{"value":"6422","date":"2017-03-03"},{"value":"700","date":"2017-03-18"}]"
这似乎是正确的。现在,我也引用了以下内容:
file_put_contents('events.json', $jsonEvents);
它为我创建了文件。在系统中,我看到:
jedrzej@jedrzej-UX303LB ~ $ ls -l | grep json
-rw-rw-r-- 1 jedrzej jedrzej 74 Mar 27 19:17 events.json
jedrzej@jedrzej-UX303LB ~ $ cat *.json
[{"value":"6422","date":"2017-03-03"},{"value":"700","date":"2017-03-18"}]
所以这是人们可以期待的行为。可能出错的一件事是您尝试编写输出的目标目录。和
在任何情况下,您都应该获得PHP警告,例如:
...无法打开流:...