http://api.moemoe.tokyo/anime/v1/master/2016/1
上記のAPIのjsonを取り出したいのですが、うまく取りだせません。
一応
PHP
1$obj= json_decode($json, true); 2$obj[0]['title']; 3$obj[1]['title']; 4・・・
でタイトルは取り出せているのですが、
これをどうやってサイズ分回せばいいのでしょうか?
foreachかと思ったのですが、どう記述していいのか
わからない状況です。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/03 05:10
回答3件
0
蛇足ですが,json_decode
の第2引数にtrueを渡さないことを推奨します.PHPは何もかも連想配列として一緒くたにしていますが,JSON発祥の言語であるJavaScriptにおいては,
- オブジェクト
{"name":"田中", "age":20}
- 配列
[1, 2, 3]
というように明確に区別されています.基本的にJSONの時点でオブジェクトであるものは,foreachで回したりarray_*
な関数を適用する必要はないことが多く,デコード後もオブジェクトのままであるほうが簡潔に書け,可読性が高いことも挙げられます.
php
1$entries = json_decode($json, true); 2$entry[0]['title']; 3$entry[1]['title']; 4 5foreach ($entries as $entry) { 6 $entry['title']; 7}
こう書いていたものは
php
1$entries = json_decode($json); 2$entry[0]->title; 3$entry[1]->title; 4 5foreach ($entries as $entry) { 6 $entry->title; 7}
こうなります.こっちのほうがいいと思いませんか?
投稿2016/04/02 16:02
総合スコア5223
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/02 17:50
2016/04/02 19:06
0
// これじゃだめ?
$data_list = json_decode($json, true);
foreach ($data_list as $data) {
echo $data['title'] .PHP_EOL;
}
投稿2016/04/02 08:39
総合スコア12
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
foreachで簡単に処理できますよ。
【PHPでJSONのデータを処理する方法】
https://syncer.jp/how-to-use-json
JSONデータの構造がわかりにくい場合は下記ようなツールがいくつかあるのでそれを使うとわかりやすくなります。
【JSONデータのデコード整形ツール - Digitra】
http://dev.digitra.net/tools/jsonfairing.php
投稿2016/04/02 08:29
総合スコア69407
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/02 09:58
2016/04/02 11:06
2016/04/02 11:19 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。