php - 循环遍历复杂的json对象php
问题描述
好的,我必须遍历 nanopool 中的 json 对象。
我的 php 代码来获取 json 并对其进行解码:
$json = file_get_contents("https://api.nanopool.org/v1/eth/payments/0x218494b2284a5f165ff30d097d3d7a542ff0023B");
$decode = json_decode($json);
json var_dump 如下:
object(stdClass)#1 (2){
[
"status"
] => bool(true) [
"data"
] => array(9) {
[
0
] => object(stdClass)#2 (4) {
[
"date"
] => int(1526913390) [
"txHash"
] => string(66) "0xd55f83fd04fba6bf47f77494c2348417ae892199ec5a3037d5731acdf4b51c53" [
"amount"
] => float(1.00284502876) [
"confirmed"
] => bool(true)
} [
1
] => object(stdClass)#3 (4) {
[
"date"
] => int(1526625835) [
"txHash"
] => string(66) "0x65e26221a69acc7b08bdda873c55620fad8f7275cde8064a02866128197f8d33" [
"amount"
] => float(1.00043622303) [
"confirmed"
] => bool(true)
} [
2
] => object(stdClass)#4 (4) {
[
"date"
] => int(1526339866) [
"txHash"
] => string(66) "0xc574992e6c4620d6da3430d5902fde4d600e38d6973333ad44f6e1c398558834" [
"amount"
] => float(1.00010024694) [
"confirmed"
] => bool(true)
} [
3
] => object(stdClass)#5 (4) {
[
"date"
] => int(1526040073) [
"txHash"
] => string(66) "0x71abfbfe6c18f0e200d4fb07101adc868af5e38e670d00806576ec24023b698d" [
"amount"
] => float(1.00028562626) [
"confirmed"
] => bool(true)
} [
4
] => object(stdClass)#6 (4) {
[
"date"
] => int(1525753141) [
"txHash"
] => string(66) "0xf3f955d88a65fa2461a99bba8940105d070c28e925498f56cb9606c608eee354" [
"amount"
] => float(1.00124398757) [
"confirmed"
] => bool(true)
} [
5
] => object(stdClass)#7 (4) {
[
"date"
] => int(1525456317) [
"txHash"
] => string(66) "0xfff92a0f9619e985f58cc0d12b9b21cf3602ff4b5d77c1a32b4470b65862157e" [
"amount"
] => float(1.00446854575) [
"confirmed"
] => bool(true)
} [
6
] => object(stdClass)#8 (4) {
[
"date"
] => int(1525160982) [
"txHash"
] => string(66) "0x0099dbe21fa4efa9eab9a449b67d093b5ddc84762e8a9ea82a8e9f67289e3922" [
"amount"
] => float(0.202524366365) [
"confirmed"
] => bool(true)
} [
7
] => object(stdClass)#9 (4) {
[
"date"
] => int(1525097578) [
"txHash"
] => string(66) "0x73e902ae5359a3f8201ad685e00960c53c89820947d2a97a9246252c0c0bbe1a" [
"amount"
] => float(0.202628621518) [
"confirmed"
] => bool(true)
} [
8
] => object(stdClass)#10 (4) {
[
"date"
] => int(1525012980) [
"txHash"
] => string(66) "0xced7a9054c22206eed4243b5f9575b0cee564675f6a75c32cc9634571a01ec46" [
"amount"
] => float(0.20110870859) [
"confirmed"
] => bool(true)
}
}
}
现在我想遍历所有的 json 并提取每个“记录”的日期和数量,代码如下:
foreach($decode as $item) {
$date = $item['date'];
$amount = $item['amount'];
}
但它不起作用。非常欢迎在此问题上提供任何帮助以正确提取所需数据
有什么帮助吗?
解决方案
用作true
第二个参数json_decode()
将json
数据转换为普通PHP
数组
$decode = json_decode($json,true);
现在迭代它并获取数据
foreach($decode['data'] as $val){
echo date('Y-m-d',$val['date']).'--'.$val['amount'];
echo "<br/>";
}
推荐阅读
- gis - geopandas中..cx和sjoin之间通过边界框过滤的区别?
- javascript - 页面加载时使用 JavaScript 更改跨度文本
- python - jupyter_client KernelClient 在启动通道时给出“ChannelABC() 不带参数”
- javascript - Typescript:使用枚举的自定义接口类型
- azure-data-factory - Azure 数据工厂 - 在存储过程活动中使用 SQL 查询内部联接表
- python - protobuf 中的结构与映射
- html - 使 div 填充设置高度没有内容
- ios - 如何检测“长按”
- solr - 在 Apache Atlas 中,有没有办法删除所有实体?
- r - 写一个更快的时间/字符变化函数?