2016-10-21 10 views
2

jsonのデータをPHPのStringに変換したいと思います。これは私のJSONデータjsonをPHPの文字列に変換するには

私は私のPHPファイルに「こんにちは、これは話す記述がある」とも私は私のファイルをアップロードしたいプリントしたい
{ 
     "": [{ 
      "description": "hello, this is description speaking" 
     }, { 
      "fieldName": "myfile", 
      "originalFilename": "image.png", 
      "path": "/var/folders/rq/q_m4_21j3lqf1lw48fqttx_80000gn/T/ttzVoNPfBxMMirec1tJsnrd2.png", 
      "headers": "[Object]", 
      "size": "82745" 
     }] 
    } 

です。私のPHPコードは以下の通りです。

if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
$json = file_get_contents("php://input"); 
    $json_obj = json_decode($json); 

    echo $json_obj; 

    echo $_POST['description']; 

    $name = $_FILES['myfile']['name']; 
$tmp_name = $_FILES['myfile']['tmp_name']; 
$error = $_FILES['myfile']['error']; 

if (!empty($name)) { 
    $location = 'uploads/'; 

    if (move_uploaded_file($tmp_name, $location.$name)){ 
     echo 'Uploaded'; 
    } 

} else { 
    echo 'please choose a file'; 
} 
} else { 
    echo "error 2"; 
} 

このコードには、未定義のインデックス:D:\ xampp \ htdocs \ workのファイルがあります。 ファイルアップロードコードがなければ、何も表示されません。

+0

あなたのJSONが有効でないように見えます。 http://jsonlint.com/を最初に検証し、有効であればデバッグしてみてください。 – Kevin

+0

内容を知るためにecho $ json_objの代わりに、次のようにしてください: echo( "

"); print_r($json_obj); echo ("
"); これを使用すると、取得しようとしているアイテムを簡単に確認することができます。例えば、$ json_obj-> myfile($ json_obj ['myfile']かもしれませんが、今は忘れてしまいます) –

+0

'' json_decode($ json、true); ' –

答えて

3

あなたは自分のJSONのdescriptionプロパティにアクセスしたい場合は、以下の操作を行うことができます

$json_obj = json_decode($json, true); 
$description = $json_obj[''][0]['description']; 
+0

エラーを表示します - 注意:オブジェクトはD:\ xampp \ htdocs \ work \ filesharing \ 12行目の2.php –

+0

私が言ったように、それがあなたのjsonなら、それは有効なものではありません。 PHPで使用する前に、適切にフォーマットする必要があります。 –

+0

私は自分のjsonを修正して、値を取得するためのPHPコードを教えてくれました。 –

関連する問題