ホームページ > バックエンド開発 > PHPチュートリアル > 求高手这段json怎样用php解析

求高手这段json怎样用php解析

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-06 20:20:04
オリジナル
1379 人が閲覧しました

如题,我想解析网易云音乐歌单内容,但是php不熟这段json又太复杂实在是没有解析出来...

地址:http://music.163.com/api/playlist/detail?id=92664101

我想输出nickname和avatarUrl,循环输出歌单里歌的mp3Url,name还有artist里面的picUrl

回复内容:

如题,我想解析网易云音乐歌单内容,但是php不熟这段json又太复杂实在是没有解析出来...

地址:http://music.163.com/api/playlist/detail?id=92664101

我想输出nickname和avatarUrl,循环输出歌单里歌的mp3Url,name还有artist里面的picUrl

拿去玩吧。
演示地址:http://1.wxrain.sinaapp.com/sf-1010000004321535.php

不要跟我说时间怎么是几百秒的,自行转换

求高手这段json怎样用php解析

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

<code><?php $url = 'http://music.163.com/api/playlist/detail?id=92664101';

$json = file_get_contents($url);

$obj = json_decode($json);

 

if (! is_object($obj) || $obj->code != 200) {

    exit('fetch data fail');

}

$result = $obj->result;

?>

 

 

<meta charset="UTF-8">

<title>netease JSON parse</title>

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

<link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">

<link href="http://www.bootcss.com/p/flat-ui/css/flat-ui.css" rel="stylesheet">

<link rel="shortcut icon" href="http://a.tbcdn.cn/s/kissy/favicon.ico" type="image/x-icon">

 

 

    <div class="container">

        <h1 class="page-header">

<?php echo $result->creator->nickname;?><small>avatarUrl:<?php echo $result->creator->avatarUrl;?></small>

        </h1>

 

        <div class="row">

  <?php if(count($result->tracks)){?>

  <table class="table table-striped">

                <thead>

                    <tr>

                        <th>#</th>

                        <th>歌曲标题</th>

                        <th>时长</th>

                        <th>歌手</th>

                        <th>mp3Url</th>

                        <th>picUrl</th>

                    </tr>

                </thead>

                <tbody>

      <?php foreach($result->tracks as $key=>$row){?>

          <tr>

                        <th><?php echo $key;?></th>

                        <th>

<?php echo $row->name;?></th>

                        <th>

<?php echo $row->duration/1000;?>s</th>

                        <th>

<?php echo $row->artists[0]->name;?></th>

                        <th><a href="<?php%20echo%20%24row->mp3Url;?>" target="_blank">播放链接</a></th>

                        <th><a href="<?php%20echo%20%24row->album->picUrl;?>" target="_blank">picUrl</a></th>

                    </tr>

      <?php }?>

      </tbody>

            </table>

  <?php }?>

  </div>

    </div>

 

</code>

ログイン後にコピー

php 解析 json 使用 json_decode() 函数即可

http://www.php.net/manual/zh/function.json-decode.php

1

2

3

4

5

6

7

8

9

10

11

12

$json = json_decode(file_get_contens(http://music.163.com/api/playlist/detail?id=92664101),true);

echo $json['result']['creator']['nickname'];//fafatears

echo $json['result']['creator']['avatarUrl'];//http://p4.music.126.net/8H54LZSIvkMK8tqCJZnbTw==/3294136843838189.jpg

$mp3 = [];

$pic = [];

foreach($json['result']['tracks'] as $value){

    $mp3[] = $value['mp3Url'];

    foreach($value['artists'] as $v) {

        $pic[] = $v['picUrl'];

    }

}

var_dump($mp3);var_dump($pic);

ログイン後にコピー

関連ラベル:
php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート