从stdClass到数组然后编码Json

时间:2017-04-08 13:31:43

标签: php json

我尝试转换stdClass的对象并在Json文件中对其进行编码,但我的数组为空:

        createJson();
        $array = json_encode($jsonEncode);
        echo '<pre>'; print_r($array); echo '</pre>';
        $fp = fopen('file.json', 'a');
        fwrite($fp, $array);
        fclose($fp);
        unset($_POST);

function createJson(){
    $jsonEncode->Nome=$_POST["firstName"];
    $jsonEncode->Cognome=$_POST["lastName"];
    $jsonEncode->Indirizzo=$_POST["address"];
    $jsonEncode->Data_di_nascita="25/01/1977";
    $jsonEncode->Username=$_POST["userName"];
    $jsonEncode->Foto_profilo="percorso_foto";
    $jsonEncode->Skill = array(
        array("Falegnameria","Ottimo"),
        array("Inglese","Ottimo"),
        array("Relazioni col pubblico","Buono"),
        array("Saponeria","Discreto"),
        array("Caccia alla volpe","Eccellente")
    );
    $jsonEncode->Esperienze = array(
        array("Ottobre 2001","Gennaio 2016","Falegname","Cace srl"),
        array("Febbraio 2016","Gennaio 2017","Falegname","Cille snc")
    );
}

当我启动Html页面并提交数据时,收到此错误: 警告:在第115行的path_to_my_file中从空值创建默认对象(“$ jsonEncode-&gt; Nome = $ _ POST [”firstName“];”) 警告:fopen(file.json):无法打开流:第105行的path_to_my_file中的权限被拒绝

警告:fwrite()要求参数1为资源,第106行的path_to_my_file中给出布尔值

警告:fclose()要求参数1为资源,第107行的path_to_my_file中给出布尔值

哪里错了?

1 个答案:

答案 0 :(得分:0)

$array = json_encode(createJson());
        echo '<pre>'; print_r($array); echo '</pre>';
        $fp = fopen('file.json', 'a');
        fwrite($fp, $array);
        fclose($fp);
        unset($_POST);

function createJson(){
    $jsonEncode['Nome'] = $_POST["firstName"];
    $jsonEncode['Cognome']= $_POST["lastName"];
    $jsonEncode['Indirizzo']=$_POST["address"];
    $jsonEncode['Data_di_nascita']="25/01/1977";
    $jsonEncode['Username']=$_POST["userName"];
    $jsonEncode['Foto_profilo']="percorso_foto";
    $jsonEncode['Skill'] = array(
        array("Falegnameria","Ottimo"),
        array("Inglese","Ottimo"),
        array("Relazioni col pubblico","Buono"),
        array("Saponeria","Discreto"),
        array("Caccia alla volpe","Eccellente")
    );
    $jsonEncode['Esperienze'] = array(
        array("Ottobre 2001","Gennaio 2016","Falegname","Cace srl"),
        array("Febbraio 2016","Gennaio 2017","Falegname","Cille snc")
    );

    return $jsonEncode; 
}
相关问题