{
"success": 1,
"return": {
"1400151861513776": {
"pair": "edc_btc",
"type": "buy",
"amount": 138959.22155687,
"rate": 0.00000085,
"timestamp_created": "1556464987",
"status": 0
},
"1400151861456538": {
"pair": "edc_btc",
"type": "buy",
"amount": 4115.53246448,
"rate": 0.00000085,
"timestamp_created": "1556463520",
"status": 0
},
"1400151861402138": {
"pair": "edc_btc",
"type": "buy",
"amount": 252.29423504,
"rate": 0.00000085,
"timestamp_created": "1556462106",
"status": 0
},
"1400151861205651": {
"pair": "edc_btc",
"type": "buy",
"amount": 5735.02289537,
"rate": 0.00000085,
"timestamp_created": "1556457111",
"status": 0
},
"1400151861064946": {
"pair": "edc_btc",
"type": "buy",
"amount": 608.2294235,
"rate": 0.00000085,
"timestamp_created": "1556453555",
"status": 0
},
"1400151860984352": {
"pair": "edc_btc",
"type": "buy",
"amount": 13553.51532229,
"rate": 0.00000085,
"timestamp_created": "1556451515",
"status": 0
},
"1400151860967764": {
"pair": "edc_btc",
"type": "buy",
"amount": 49475.62404601,
"rate": 0.00000085,
"timestamp_created": "1556451103",
"status": 0
},
"1400151860901030": {
"pair": "edc_btc",
"type": "buy",
"amount": 21474.82564282,
"rate": 0.00000085,
"timestamp_created": "1556449399",
"status": 0
},
"1400151860889146": {
"pair": "edc_btc",
"type": "buy",
"amount": 2657.50733826,
"rate": 0.00000085,
"timestamp_created": "1556449090",
"status": 0
},
"1400151860484795": {
"pair": "edc_btc",
"type": "buy",
"amount": 71933.21911691,
"rate": 0.00000085,
"timestamp_created": "1556438570",
"status": 0
},
"2400151859280443": {
"pair": "edc_btc",
"type": "sell",
"amount": 266054.68380596,
"rate": 0.00000088,
"timestamp_created": "1556408217",
"status": 0
},
"2400151857916444": {
"pair": "edc_btc",
"type": "sell",
"amount": 400000,
"rate": 0.0000009,
"timestamp_created": "1556374931",
"status": 0
},
"2400151857916059": {
"pair": "edc_btc",
"type": "sell",
"amount": 400000,
"rate": 0.00000089,
"timestamp_created": "1556374923",
"status": 0
}
}
}
如何获取循环值数量。此数组每次都有随机值1400151861513776..change ..
我使用php代码。json_decode
..
答案 0 :(得分:1)
请按照上述步骤获取所需数据。
第1步:使数据成为有效的JSON字符串
$json_string = '{
"success": 1,
"return": {
"1400151861513776": {
"pair": "edc_btc",
"type": "buy",
"amount": 138959.22155687,
"rate": 0.00000085,
"timestamp_created": "1556464987",
"status": 0
},
"1400151861456538": {
"pair": "edc_btc",
"type": "buy",
"amount": 4115.53246448,
"rate": 0.00000085,
"timestamp_created": "1556463520",
"status": 0
}
}
}';
在这里,我将您的数据用单引号引起来,使其成为有效的JSON字符串
步骤2:使用json_decode函数解码JSON字符串
$decoded_data = json_decode($json_string, $assoc=true);
使用 json_decode 函数时,请确保将 $ assoc 标志设置为 true 。否则它将返回一个对象而不是一个关联数组。
第3步:选择需要循环的数据
$selected_data = $decoded_data["return"];
在这种情况下,它是解码后的JSON中的 return 键。
第4步:遍历所选数据以获得键和值
foreach($selected_data as $key=>$value) {
var_dump($key); # random value like 1400151861513776
}
$ 键将保存随机值,例如 1400151861513776 ,而$ value 将保存该键内部的数据
答案 1 :(得分:1)
您可以使用json_decode
将JSON转换为数组。 PHP json_decode()
$jsonToArray = json_decode($json,true); // $json has the `JSON`
如果您需要将key
与amount
一起使用,则可以使用array_walk
PHP array_walk()
$jsonToArray = json_decode($json,true);
$res = [];
array_walk($jsonToArray['return'], function($v, $k) use (&$res){
$res[$k] = $v['amount'];
});
输出:-
Array
(
[1400151861513776] => 138959.22155687
[1400151861456538] => 4115.53246448
.......
.......
[2400151857916444] => 400000
[2400151857916059] => 400000
)
OR
如果您不需要key
,则只有amount
可以使用array_map
PHP array_map()
$jsonToArray = json_decode($json,true);
$res = [];
array_map(function($v) use(&$res){
$res[] = $v['amount'];
}, $jsonToArray['return']);
输出:-
Array
(
[0] => 138959.22155687
[1] => 4115.53246448
.......
.......
)