2014-11-08 1 views
0

이봐, 난이 페이스 북의 API에서 몇 가지 정보를 수집 다음 PHP 스크립트가 모든 :페이스 북의 HTTP 피드 배열이 아닌 JSON을 반환

:

$request = (new FacebookRequest(
    $session, 'GET', '/me/home' 
)); 

$response   = $request->execute(); 
$graphObject  = $response->getGraphObject()->asArray(); 
print_r($graphObject); 

그러나, 그 출력은 다음과 같습니다

Array 
(
    [data] => Array 
    (
     [0] => stdClass Object 
      (
       [id] => xxxxxxx78552_74905xxxxxxxx 
       [from] => stdClass Object 
        (
         [id] => 72xxxxxx05xxxx52 
         [name] => Tom xxxxxx 
        ) 

       [story] => Tom xxxx shared xxxxx xxxxx's status update. 
       [story_tags] => stdClass Object 
     etc etc.... 

배열을 얻는 이유는 무엇입니까? (asArray();)하지만 JSON으로 변환해야합니다. 내가 VB.net의 JSON.net를 통해이 일을보십시오 : 라인에

Unexpected character encountered while parsing value: A. Path '', line 0, position 0.

:

result = mainPage.theNewsFeed 
objWriter = New System.IO.StreamWriter(Application.StartupPath & "\home.json", False, Encoding.UTF8) 
objWriter.Write(JSONDeserialize(result).ToString) 
objWriter.Close() 

는 그 위의 코드는이 오류가 발생

objWriter.Write(JSONDeserialize(result).ToString) 

내가 있기 때문에 이해할 수는 올바른 json 형식이 아닙니다.

PHP 또는 VB.net을 사용하여 올바른 형식으로 변환하려면 어떻게해야합니까?

답변

0

PHP에서 배열을 JSON으로 출력하려면 json_encode 함수를 사용하고 배열을 매개 변수로 사용하고 싶습니다. JSON 문자열을 반환합니다.

$json = json_encode($graphObject); 

내가 VB.net과 경험도 없어하지만 난 당신이 잘못된 방법을 사용하고 있으리라 믿고있어.

직렬화는 객체 또는 배열이 JSON과 같은 문자열 표현으로 변환된다는 것을 의미합니다. deserialize는 문자열이 객체 또는 배열로 변환된다는 것을 의미합니다.

그래서 사용하는 방법은 실제로 JSON을 생성하는 대신 JSON이 필요합니다.

관련 문제