如何使用 php 从 json 获取特定的电子邮件数据
Posted
技术标签:
【中文标题】如何使用 php 从 json 获取特定的电子邮件数据【英文标题】:How to get specific email data from json using php 【发布时间】:2020-04-02 09:55:09 【问题描述】:在我的一个应用程序中,我从 php 获取 JSON 格式的数据。类似于以下内容:
"abc@mail.com":
"RequestSessions": [
"StartAt": "2020-03-29T05:18:37.973618Z",
"RunTime": 292,
"Captcha": 3,
"TotalBidRequests": 40,
"TotalSearchRequests": 2831,
"TotalTradeRequests": 88
],
"ProfitSessions": [
"StartAt": "2020-03-29T13:56:11.8250985Z",
"Profit": 42598,
"EProfit": 3350,
"Coins": 55674,
"Ecoins": 28000
]
,
"adc@mail.com":
"RequestSessions": [
"StartAt": "2020-03-29T05:18:37.973618Z",
"RunTime": 292,
"Captcha": 3,
"TotalBidRequests": 40,
"TotalSearchRequests": 2831,
"TotalTradeRequests": 88
],
"ProfitSessions": [
"StartAt": "2020-03-29T13:56:11.8250985Z",
"Profit": 42598,
"EProfit": 3350,
"Coins": 55674,
"Ecoins": 28000
]
从这个回复中,我只需要获取电子邮件来处理我的应用程序中的进一步操作。但我无法确定如何使用 PHP json_decode() 进行解码
谁能告诉我如何使用 PHP 对其进行解码并仅从该回复中获取电子邮件?
谢谢
【问题讨论】:
这个问题有点不准确。你问如何使用 json_decode ?如果是的话,这已经讨论过很多次了,例如:***.com/questions/5164404/json-decode-to-array 如果你问解码后要做什么,那就不同了 @Eagle1 公平地说,您解码它的确切方式(即对象或关联数组)可能会对后续解决方案产生影响 - 请参阅下面的答案。 当然,您的答案是完美的。 stack 让我复习第一个问题,我尽力澄清它。 【参考方案1】:在该 JSON 中,电子邮件地址是对象的键 - 即属性的名称。如果将 JSON 解码为关联数组,则可以使用 PHP 的 array_keys 函数获取这些值:
$data = json_decode($json, true);
foreach (array_keys($data) as $key)
echo $key.PHP_EOL;
这个输出:
abc@mail.com
adc@mail.com
演示:http://sandbox.onlinephpfunctions.com/code/d7890691a6baae9f9314c727a9ad0f6519214a10
【讨论】:
拜托,能否通过此电子邮件获得“ProfitSessions”=> 硬币。如果是,那怎么做? 当然,你可以从数据中得到任何你想要的东西。 sandbox.onlinephpfunctions.com/code/… 。请尝试自己学习如何从 PHP 数组中提取数据,只要你学会了语法并练习了一下,这并不难。 sandbox.onlinephpfunctions.com/code/… 从此代码如何仅获取每封电子邮件的最后一个硬币值? countProfitSessions数组中的条目数,然后直接引用最后一个索引。 或者实际上更容易使用end 函数。 (我只是用谷歌搜索“php return last array index”来得到这个——如果你输入简单、直接的搜索,谷歌是你的朋友。如果你首先熟悉数据结构等的正确术语,这会有所帮助。然后你几乎总能找到一切你需要。所以一定要知道你在代码中使用的东西的正确名称。以上是关于如何使用 php 从 json 获取特定的电子邮件数据的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Android 中的 JSON OR URL 获取特定数据? [关闭]