2016-04-08 10 views
0

iosからサーバーにデータを渡そうとしています。Json_decodeが文字列(0)を返します。 ""

PHPコード:

<?php 
    $inputJSON = file_get_contents('php://input'); 
    $data = json_decode($inputJSON, TRUE); 
    var_dump($data); 
?> 

これは私にstring(0) ""を与えます。私はこれの意味が何であるか分からない。

 echo $inputJSON; gives nothing 
     var_dump($inputJSON); returns string(0) "" 

私はJSON文字列を印刷するとき、それは私に有効な文字列を与える

Cannot able to access json array in php , it returns null and Warning: Invalid argument supplied for foreach()

+0

'$ inputJSON'に値がありますか? – aldrin27

+0

echo $ inputJSON;何も与えません。 var_dump($ inputJSON);返り値string(0) "" – Lydia

+0

php://これは前に私に働いています。 – Lydia

答えて

1

ので、このような連想/数字の配列へのアクセス、連想配列にオブジェクトを変換する場合はtrue、私problem-

パスを解決しました。

$var = $data[0]['key']; 

次に、数値と連想配列の組み合わせを使用して、多次元配列の目的の要素にアクセスします。

しかし、もし私がvar_dump($ data)しようとすると; nullを返します。

リファレンスチュートリアル:http://www.dyn-web.com/tutorials/php-js/json/decode.php

1

・ファーストあなたがチェックする必要があり、私の別の質問でこの問題の完全なコードを見つけてください。あなたのURLは正しいかどうかです。すべてのものは正しいですが、alter native of file_get_content

2

は私が話して何のことをあなたのための一例作成したなどとして、まだその応答を使用カール機能が表示されない場合: -

1.My両方のファイル(phpコードファイルをと同じ作業directory.Checkでjson文字列ファイル): - http://prntscr.com/apkbp9

2. json文字列ファイルの内容は次のようになります -

[ 
    { 
     "email" : "", 
     "Name" : "Ddd", 
     "contact2" : "", 
     "ontact1" : "" 
    }, 
    { 
     "email" : "", 
     "Name" : "Ddd", 
     "contact2" : "", 
     "contact1" : "" 
    }, 
    { 
     "email" : "", 
     "Name" : "Dddddr", 
     "contact2" : "", 
     "contact1" : "" 
    } 
] 

ここでチェックイン: - http://prntscr.com/apkbx0

3. phpコードファイルの内容: -

<?php 
    $inputJSON = file_get_contents('input.txt'); 
    echo $inputJSON; 
    $data = json_decode($inputJSON, TRUE); 
    echo "<pre/>";print_r($data); 
?> 

ここでチェックイン: - 私のブラウザでhttp://prntscr.com/apkc6x

出力: - http://prntscr.com/apkcoi

あなたは次のようにCURLを使用することができます以下: -

<?php 
    function url_get_contents ($Url) { 
     if (!function_exists('curl_init')){ 
      die('CURL is not installed!'); 
     } 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $Url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $output = curl_exec($ch); 
     curl_close($ch); 
     return $output; 
    } 
    $inputJSON = url_get_contents('php://input'); 
    echo $inputJSON; 
    $data = json_decode($inputJSON, TRUE); 
    echo "<pre/>";print_r($data); 

?> 
複数の基準については

についてCURL: - http://php.net/manual/en/book.curl.php

注: - の両方が動作しない場合は、その後、最初のあなたは、拡張子.txtのファイルにあなたのjsonデータを保存する必要があり、その後、あなただけの、上記の両方のコードを使用することができますそのテキストファイルのフルパスを入力します。神優雅に

+0

はい、私は同じことをしました。あなたが私の質問を読むなら、それを見ることができます。 – Lydia

+0

iosからphpまで、私たちはfile_get_contents( 'php:// input')と解釈されるphpファイルを定義することはできません。 – Lydia

+0

私はjson配列を送信しているので、有効ではない可能性があります。 – Lydia

関連する問題