gpt4 book ai didi

php - 解析嵌套的 JSON 以检索嵌套的数组值

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:14 26 4
gpt4 key购买 nike

我正在尝试从此 Json 中获取一些特定字段。我已经设法检索到第一级中的那些,但我需要从数据字段中获取一些。我想获取以下数据字段的数组:

data = [(data artist id, data artist id name, and data rank), (data artist id, data artist id name, and data rank)...] 

例如:

data = [(ed61fe981f9143fe82536a0e5e9836f7, Rihanna, 1), (668dfb9383684b79ba603605db21ac51, PSY, 2)..]

知道怎么做吗?

Json 如下:

{
" response": {
"class": "chart",
"data": [
{
"artist": {
"class": "artist",
"id": "ed61fe981f9143fe82536a0e5e9836f7",
"musicbrainz": "73e5e69d-3554-40d8-8516-00cb38737a1c",
"name": "Rihanna"
},
"rank": 1,
"value": 42437.6397
},
{
"artist": {
"class": "artist",
"id": "668dfb9383684b79ba603605db21ac51",
"musicbrainz": "f99b7d67-4e63-4678-aa66-4c6ac0f7d24a",
"name": "PSY"
},
"rank": 2,
"value": 21562.2685
},

… goes up to about 200 items
],

"end_time": 1358553600,
"id": "396c5b836ce74200b2b5b8ba1df28956",
"name": "high_flyers_plays_total",
"next_id": null,
"now_id": "b857276b34cf488f9a934765c3281af7",
"period": 86400,
"previous_id": "cb566393058c4ddfa0b957063fbdc2e3",
"start_time": 1358467200
},
"success": true
}

这是我的 PHP 代码:

<?php


//Chart json url
$url = "http://website.com";

function get_json($url)
{
$ch = curl_init();

//Very short time to get json so long timeout not needed
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}


$json = get_json($url);

$info = json_decode($json,true);




//Prints the outer variables

print "This is the end_time for the chart : ";
print $info["response"]["end_time"]."<br />";

print "This is the name for the chart : ";
print $info["response"]["name"]."<br />";

print "This is the UUID of the chart : ";
print $info["response"]["id"]."<br />";


print "This is the period for the chart : ";
print $info["response"]["period"]."<br />";

/* gets the json data from the URL */




?>

最佳答案

这个怎么样?

$stuff = json_decode($json, true);

$results = array();

foreach($stuff['response']['data'] as $chunk) {
$artist = $chunk['artist'];
$id = $artist['id'];
$name = $artist['name'];

$rank = $chunk['rank'];

$tuple = array($id, $name, $rank);

$results[] = $tuple;
}

关于php - 解析嵌套的 JSON 以检索嵌套的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14425700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com