当前位置: 首页 > 面试题库 >

如何解码JSON字符串

丌官凯康
2023-03-14
问题内容

大家!我可以请您帮我解码以下JSON代码:

$json = '{"inbox":[{"from":"55512351","date":"29\/03\/2010","time":"21:24:10","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:12","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."}]}';

我想将上述结构组织为:

注1:

文件夹:收件箱

来自(来自):…

日期(日期):…

时间(时间):…

utcOffsetSeconds:…

收件人(地址):…

收件人(姓名):…

状态(deliveryStatus):…

文字(正文):…

笔记2:

先感谢您!


问题答案:

您可以使用该json_decode函数来解码JSON字符串:

$json = '{"inbox":[{"from":"55512351","date":"29\/03\/2010","time":"21:24:10","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:12","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."},{"from":"55512351","date":"29\/03\/2010","time":"21:24:13","utcOffsetSeconds":3600,"recipients":[{"address":"55512351","name":"55512351","deliveryStatus":"notRequested"}],"body":"This is message text."}]}';
$data = json_decode($json);
var_dump($data);

而且您会得到像这样的东西:

object(stdClass)[1]
  public 'inbox' => 
    array
      0 => 
        object(stdClass)[2]
          public 'from' => string '55512351' (length=8)
          public 'date' => string '29/03/2010' (length=10)
          public 'time' => string '21:24:10' (length=8)
          public 'utcOffsetSeconds' => int 3600
          public 'recipients' => 
            array
              0 => 
                object(stdClass)[3]
                  public 'address' => string '55512351' (length=8)
                  public 'name' => string '55512351' (length=8)
                  public 'deliveryStatus' => string 'notRequested' (length=12)
          public 'body' => string 'This is message text.' (length=21)
      1 => 
        object(stdClass)[4]
          public 'from' => string '55512351' (length=8)
          public 'date' => string '29/03/2010' (length=10)
          public 'time' => string '21:24:12' (length=8)
          public 'utcOffsetSeconds' => int 3600
          public 'recipients' => 
            array
              0 => 
                object(stdClass)[5]
                  public 'address' => string '55512351' (length=8)
                  public 'name' => string '55512351' (length=8)
                  public 'deliveryStatus' => string 'notRequested' (length=12)
          public 'body' => string 'This is message text.' (length=21)
      ....
      ....

既然您知道了数据的结构,就可以对其进行遍历;例如,您可以使用以下内容:

foreach ($data->inbox as $note) {
  echo '<p>';
  echo 'From : ' . htmlspecialchars($note->from) . '<br />';
  echo 'Date : ' . htmlspecialchars($note->date) . '<br />';
  echo 'Body : ' . htmlspecialchars($note->body) . '<br />';
  echo '</p>';
}

这样您将获得以下输出:

From : 55512351
Date : 29/03/2010
Body : This is message text.

From : 55512351
Date : 29/03/2010
Body : This is message text.

...
...


 类似资料:
  • 问题内容: 这是我从提要查找器URL(JSON编码)中作为字符串得到的: 我如何在php中使用json_decode()函数对其进行解码并获取最后一个数组元素(“提要”)?我尝试了以下代码,但没有运气 请帮忙 .. 问题答案: 请注意,使用第二个参数调用它时,已经返回一个数组。 更新: 作为JSON中的值 是一个对象数组,其内容为: 要获取URL,您必须使用或访问数组。 但这是数组的基本处理。也许

  • 问题内容: 我有一个看起来像这样的JSON字符串: 什么是解码此和地点PHP ,,,,和到会话变量? 到目前为止,我已经尝试过了,但是没有用: 谢谢! 问题答案: 是您了解JSON结构的朋友。 结果是:

  • 问题内容: 我正在寻找一个示例代码/ lib,以使用C#解码JSON字符串。 要编码,我可以这样做: 但是我该如何解码? 问题答案: 你可以这样做:

  • 问题内容: 大家好,我是从外部Api获取websocket信息的,它以这种方式给了我json响应: 我把它放在这个结构中 并用代码解码 我遇到错误 我知道该错误是文本字段值的结果。有什么好的方法可以清理它或告诉解码器忽略文本字段的内容吗? 问题答案: 该应用程序正在解析包含substring的数据。这是无效的JSON。错误消息抱怨in 。 由于JSON值包含编码的JSON值,因此应用程序必须分两个

  • 问题内容: 我对使用Java中的json-simple库是陌生的,并且已经经历了编码和解码示例。复制编码示例很好,但是我无法使解码示例与混合类型JSON一起使用。 我的问题之一是库中有太多类,这些类没有正确记录,因此我没有源(以便能够通读并理解它们的目的)。因此,我努力了解如何使用许多此类。 阅读此示例后: 从json-simple官方解码教程中,我尝试解码此JSON: 我正在编写以下代码进行解码

  • 问题内容: 我有一些我想解码的代码,但是如果正在使用任何代码页,猜测代码页的运气就不会很幸运。任何帮助将非常感激。 这是代码: 问题答案: 需要注意的是,如指出的评论,如果你只是想看到生成的脚本可以更换第二用,例如从那么回事: 至: 并运行结果。如果你想了解多一点关于 如何 它的工作原理,见下图。 您有两个输入,一个输入只是用管道分隔的数据(),另一个是基于该数据的以base 64()编码的程序的