2017-03-24 1 views
0

검색 및 검색을했는데 JSON 인코딩의 오류를 어디에서 잘못 알 수 있습니까? 나를 죽이지 마세요, 난 초보자 :) 해요JSON에서 값을 가져 오는 방법은 PHP로 인코딩합니까?

내 PHP :

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

내 JSON : 도움이를위한

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

편집

감사합니다 지금 일하고있다!

+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 구조에는 객체가 포함 된 배열 (현재 요소가 하나만 있음)이 포함되어 있습니다. 그래서 당신이 좋아하는 것을 원한다면 결과 배열의 첫 번째 요소와 그것 (연관 배열), 좋아하는 것을 읽어야합니다. 당신이 주어진 JSON 파일에 하나 이상의 개체가있는 경우

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

, 당신은 할 수 foreach

foreach ($data as $element) { 
    echo "likes of {$element['title']}: {$element['likes']}\n"; 
} 
관련 문제