为了账号安全,请及时绑定邮箱和手机立即绑定

从 json 中的子行中删除方括号

从 json 中的子行中删除方括号

PHP
九州编程 2023-07-08 21:43:07
我正在尝试在网站上显示以下数据:-"daily":[{"dt":1593864000,"sunrise":1593834201,"sunset":1593894929,"temp":{"day":18.47,"min":17.83,"max":18.71,"night":17.83,"eve":18.71,"morn":18.47},"feels_like":{"day":16,"night":13.09,"eve":16.54,"morn":16},"pressure":1006,"humidity":77,"dew_point":14.37,"wind_speed":5.51,"wind_deg":244,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":90,"uvi":7.08}我提取除天气部分中的条目之外的任何条目,因为我使用的代码认为天气数据是一个单独的数组。与显示数据相关的代码部分是:-<span class="min-temperature">&nbsp;Minimum Temperature&nbsp;<?php echo $data->daily[0]->clouds; ?>&deg;C</span><br>   <span class="min-temperature">&nbsp;Pressure&nbsp;<?php echo $data->daily[0]->weather->id; ?></span>第一行显示数据正常,但天气部分中的任何内容都无法显示任何内容。我已经看到了删除所有方括号的解决方案,但它只需要围绕天气部分的括号。提前致谢
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

下面的代码 json_decodes 并回显云和天气数组。'希望能帮助到你。请给出意见。谢谢。


<?php 


$data=json_decode( '{"daily":{"dt":1593864000,"sunrise":1593834201,"sunset":1593894929,"temp":{"day":18.47,"min":17.83,"max":18.71,"night":17.83,"eve":18.71,"morn":18.47},"feels_like":{"day":16,"night":13.09,"eve":16.54,"morn":16},"pressure":1006,"humidity":77,"dew_point":14.37,"wind_speed":5.51,"wind_deg":244,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":90,"uvi":7.08}}'); # define $data as a stdClass Object

echo $data->daily->clouds;

echo "\n";


# below, weather array is converted into a string

$wa=(array)$data->daily->weather[0];

foreach($wa as $key=> $val){

    echo $key."=".$val."; ";

}


?>

输出:


90

id=500; main=Rain; description=light rain; icon=10d; 

//img1.sycdn.imooc.com//64a9680f0001002006530169.jpg

查看完整回答
反对 回复 2023-07-08
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

在这种情况下,您必须使用json_decode将 json 字符串转换为关联数组。


$data = '{"daily":{"dt":1593864000,"sunrise":1593834201,"sunset":1593894929,"temp":{"day":18.47,"min":17.83,"max":18.71,"night":17.83,"eve":18.71,"morn":18.47},"feels_like":{"day":16,"night":13.09,"eve":16.54,"morn":16},"pressure":1006,"humidity":77,"dew_point":14.37,"wind_speed":5.51,"wind_deg":244,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":90,"uvi":7.08}}';

$decode = json_decode($data,true);

echo '<pre>';

//print_r($decode);

echo $decode['daily']['clouds'].'<br>';

echo $decode['daily']['uvi'].'<br>';


echo $decode['daily']['weather'][0]['id'].'<br>';

echo $decode['daily']['weather'][0]['main'].'<br>';  //These three are from weather array. 

echo $decode['daily']['weather'][0]['description'].'<br>';

echo '<pre>';

输出


90

7.08

500

Rain

light rain

print_r如果您想知道数组索引是如何工作的,您可以从代码中使用它,只需将其从注释中删除即可。


查看完整回答
反对 回复 2023-07-08
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信