gpt4 book ai didi

php - 从 JSON 中选择属性

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:15 25 4
gpt4 key购买 nike

我有一个类似于这个的 JSON:

    {"request":
{"Target":"Affiliate_Offer","Format":"json","Service":"HasOffers","Version":"2","NetworkId":"adattract","Method":"getPayoutDetails","api_key":"bd2e82f029c50b582db85868b7c0b8ab99d095886ab079f87b464bb68486c891","offer_id":"9463"},"response":
{"status":1,"httpStatus":200,"data":{"offer_payout":
{"payout":"0.820"}},"errors":[],"errorMessage":null}}

我只想选择 payout 的值,即 0.820

这是我的尝试

<?php
include 'db.php';
$result = mysql_query("SELECT * FROM ada WHERE require_approval='0' ORDER BY i2 ASC LIMIT 0,10") or die(mysql_error());
// keeps getting the next row until there are no more to get
while ($row = mysql_fetch_array($result)) {
echo "<div>";
$r = $row['id'];
$ri = $row['i2'];
// $ri contains no. 1 2 3 4 5..//
$json = '';
}
$mydata = json_decode($json, true);
$data = $mydata["response"]["data"];
$pay = $data[$ri]["offer_payout"][payout];
echo "</div>";
mysql_query("INSERT INTO thumb(img,id) VALUES('$nth','$oid')");
echo $pay; //output of 0.8200 but not work plz here i need help//
}
?>

最佳答案

‘给一个人一条鱼,他就能养活他的家人一天’是徒劳的。授人以渔,他将永远养家糊口”这里是您如何找出 json 对象的样子。

$json = '{"request":
{"Target":"Affiliate_Offer","Format":"json","Service":"HasOffers","Version":"2","NetworkId":"adattract","Method":"getPayoutDetails","api_key":"bd2e82f029c50b582db85868b7c0b8ab99d095886ab079f87b464bb68486c891","offer_id":"9463"},"response":
{"status":1,"httpStatus":200,"data":{"offer_payout":
{"payout":"0.82000"}},"errors":[],"errorMessage":null}}';


$mydata = json_decode($json,true);
print_r($mydata);

将输出这个:-

Array
(
[request] => Array
(
[Target] => Affiliate_Offer
[Format] => json
[Service] => HasOffers
[Version] => 2
[NetworkId] => adattract
[Method] => getPayoutDetails
[api_key] => bd2e82f029c50b582db85868b7c0b8ab99d095886ab079f87b464bb68486c891
[offer_id] => 9463
)

[response] => Array
(
[status] => 1
[httpStatus] => 200
[data] => Array
(
[offer_payout] => Array
(
[payout] => 0.82000
)

)

[errors] => Array
(
)

[errorMessage] =>
)

)

现在你知道如何处理所有字段了

所以你想要的字段将是

$pay = $mydata["response"]["data"]["offer_payout"]["payout"];

现在您决定将一个 JSON 对象 转换为一个数组,没有必要这样做,并且在某些方面对象更容易寻址和使用比数组更少的击键。

所以把 ,truejson_decode 中去掉,你就得到了这个

$json = '{"request":
{"Target":"Affiliate_Offer","Format":"json","Service":"HasOffers","Version":"2","NetworkId":"adattract","Method":"getPayoutDetails","api_key":"bd2e82f029c50b582db85868b7c0b8ab99d095886ab079f87b464bb68486c891","offer_id":"9463"},"response":
{"status":1,"httpStatus":200,"data":{"offer_payout":
{"payout":"0.82000"}},"errors":[],"errorMessage":null}}';


$mydata = json_decode($json);
print_r($mydata);

输出:-

stdClass Object
(
[request] => stdClass Object
(
[Target] => Affiliate_Offer
[Format] => json
[Service] => HasOffers
[Version] => 2
[NetworkId] => adattract
[Method] => getPayoutDetails
[api_key] => bd2e82f029c50b582db85868b7c0b8ab99d095886ab079f87b464bb68486c891
[offer_id] => 9463
)

[response] => stdClass Object
(
[status] => 1
[httpStatus] => 200
[data] => stdClass Object
(
[offer_payout] => stdClass Object
(
[payout] => 0.82000
)

)

[errors] => Array
(
)

[errorMessage] =>
)

)

现在您要处理的字段是:-

$pay = $mydata->response->data->offer_payout->payout;

关于php - 从 JSON 中选择属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059727/

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