如何使用 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 获取特定的电子邮件数据的主要内容,如果未能解决你的问题,请参考以下文章

数据表中的多选行,如何从JSON获取一列数据到php

如何从 PHP 中获取 JSON 值?

如何从 Android 中的 JSON OR URL 获取特定数据? [关闭]

如何在 PHP 中从不同的电子邮件源获取 XML/TXT 附件?

Json下载特定表格的链接(谷歌电子表格)

使用 mailcore (iOS),我如何从特定电子邮件地址获取所有电子邮件?