2016-07-27 6 views
0

twitter APIからJSONの形式でデータを正常に取得しました。しかし、Twitterで提供される時間はまだ私が必要とする日付形式ではないので、まずそれを編集しなければならないと思う。問題は、PHPでJSONファイルを編集する方法がわからないことです。私は「created_atと」を編集したい場合はtwitter json APIからcreated_atを編集するには

Here is what twitter API will give in the form of json

は今、どのように私はそれを行うのですか?これまでのところ、私が得たものがここにあります。

$results = search($query); 
 

 
header('Content-Type: application/json'); 
 
$results= json_encode($results, JSON_PRETTY_PRINT); 
 
echo $results; 
 
file_put_contents('json_result.json', $results); 
 

 
$contents = file_get_contents('json_result.json'); 
 
$contentsDecoded = json_decode($contents, true); 
 
echo $contentsDecoded['statuses']->created_at; 
 
foreach ($contentsDecoded['statuses'] as $tweet) { 
 
\t $date = new DateTime($tweet->created_at); 
 
    \t $formatted_date = $date->format("d-m-Y"); 
 
    \t echo "Date ".$formatted_date; 
 
}

私はまだそれは再びそれを取得し、ファイルにそれを置く代わりにそれを置く前に

+1

なぜ出力形式を変更するのではなく、編集したいのですか? – Perry

+0

@Vuldoは何を言ったのですか? –

+0

@Perryが述べたように、画面に表示する必要があるときに解析します。これはISO表記ですが、そのように保つことで問題は発生しません。複数回表示する必要がある場合は、そのための関数を作成してください。 – KeitIG

答えて

0

編集...それは非オブジェクトのプロパティだというエラーを取得し、再度貯蓄する。

+0

ええ、どうですか?私が投稿したコードは動作しません、それは非オブジェクトのプロパティを取得しようとしていると言います –

+0

'$ results'は配列ですか?あなたはそれをエンコードする前にこの配列を編集することができます – Vuldo

+0

私は理解していない、あなたはそれをもっと拡張できますか? –

0

私はこの問題は、これらの行のいずれかであると思う:

echo $contentsDecoded['statuses']->created_at; 
foreach ($contentsDecoded['statuses'] as $tweet) { 

どちらか$ contentsDecoded [「ステータス」]プロパティのcreated_atを持っているか、だから、配列のプロパティのcreated_atにアクセスする配列 で有効ではありません。その行を削除してみてください

関連する問題