转换为json数组并写入json文件

时间:2017-03-27 17:11:31

标签: php mysql arrays json

这里是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

的数据

1 个答案:

答案 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"}]

所以这是人们可以期待的行为。可能出错的一件事是您尝试编写输出的目标目录。和

  1. 您可能没有此目录的写入权限
  2. 此目录可能不存在
  3. 在任何情况下,您都应该获得PHP警告,例如:

      

    ...无法打开流:...