2017-03-24 7 views
0

私は検索して検索しましたが、私はどこで間違ってJSONエンコードの値を取得しているのかわかりません。どうすれば助けてくれますか?私は初心者だ、私を殺すしないでください:)PHPでJSONエンコードの値を取得するには?

私のPHPを:

<?php 
$data = json_decode("document.json", true); 
$getit = $data["likes"]; 

マイJSON:ヘルプこのため

[{ 
"title" : "MYTITLE", 
"image" : "MYIMAGE", 
"likes" : 0 
}] 

EDIT

感謝を今働いている!

+2

'json_decode()'引数としてJSONエンコードされた文字列を取ると、データをループを複数のオブジェクトを可能性がある場合。ファイル名ではありません。そのため、通常のファイル処理操作をユーザに任せて、ファイルの内容を読み込み、それを解読する必要があります。私はあなたが使いたいツールのドキュメントを読むことから始めてみることをお勧めします:http://php.net/manual/en/function.json-decode.php – arkascha

+0

これが当てはまる場合は、 '$ data [ 0] ['likes'] ' – Thamilan

+0

また、$ dataへのアクセス方法を更新し、得られたすべての回答と@タミランのコメントを見直す必要があります。 – vincenth

答えて

1

json_decodeについては、ファイル名ではなくJSON文字列を渡す必要があります。 file_get_contentsを使用してJSONコンテンツを取得し、それをデコードします。

$getit = $data[0]['likes']; 

$data[0] 

が次にあなたが欲しいのキーにアクセスすることができます。

$data = json_decode(file_get_contents('document.json'), true); 
$getit = $data[0]['likes']; 
0

あなたのJSONは、あなたが最初にあなたの配列の最初の要素にアクセスする必要がある、オブジェクトの配列ですさらに、上記のコメントに記載されているように、jsonエンコードに文字列を渡す必要があります。

<?php 
$data = json_decode(file_get_contents('document.json'), true); 

$getit = $data[0]["likes"]; 

これが役に立ちます。

1

json_decodeは、ファイル名ではなく文字列を必要とするため、まず指定されたファイルの内容を取得します。これは簡単にfile_get_contentsで実現できます。

現在のjson構造には、オブジェクトを含む配列(現在要素が1つしかありません)が含まれています。ですから、もしあなたが好きなら、結果配列の最初の要素とその(連想配列)のようなものを読まなければなりません。

$data = json_decode(file_get_contents($filename), true); 
$likes = $data[0]['likes']; 

あなたは、与えられたJSONファイルにforeach

foreach ($data as $element) { 
    echo "likes of {$element['title']}: {$element['likes']}\n"; 
} 
関連する問題