以前の記事で、Googleの検索回数を取得するAPIを見つけたので、PHPで利用してみました。
json_decode()してから利用するのですが、json_decode()前に一つだけ処理が必要でした。というのも、google trend APIで提供されているJSONはnew Date(2016,12,11)となっている部分があり、そのままjson_decode()するとnullが返ってきてしまいます。きちんと配列に格納できません。
1 2 3 4 5 6 7 8 |
<?php $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');//JSONの文字化け防止 $json = strstr($json,'{');//先頭の不要文を削除 $json = str_replace(');','',$json);//末尾の不要文を削除 $json = preg_replace('/new Date\(([0-9\,]){1,11}\)/','"${1}"',$json);//new Date(2016,12,11)をjson_decode()で読めるように修正 ?> |
上記のように処理してからjson_decode()すれば、エラーなく配列に格納することができました。
コメント
[…] ⇒google trend APIのJSONをjson_decode()する前に必要な処理 […]
Googleから飛んできました。
JSONの整形部分で時間がかかっていたので、本記事は非常に助かりました。
こちらのブログをブックマークさせていただきます!
>たおさん
お役に立てたようで何よりです。コメントありがとうございます!うれしいです^^