【问题标题】:How to decode this JSON in PHP [duplicate]如何在 PHP 中解码这个 JSON [重复]
【发布时间】:2019-06-21 12:40:38
【问题描述】:

我在 PHP 中解码和添加这个 JSON 数据时遇到问题,每个 json 包含 8 个条目,在我希望有一个 4x4 网格的站点布局之后

JSON 结构

{
  "packages": [
    {
      "id": "TEST2362",
      "name": "TEST"
      "desc": "TEST Desc",
      "image": "URL",
      "package": "URL",
      "version": "1.00",
      "picpath": "PATH",
      "desc_1": "",
      "desc_2": "",
      "ReviewStars": "4/5 Stars",
      "Size": "1.1 GBs",
      "Author": "TESTER",
      "apptype": "TEST TYPE",
      "pv": "VER",
      "main_icon_path": "URL",
      "main_menu_pic": "PATH",
      "releaseddate": "1/1/2019"
    },

我试过这个

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$json = file_get_contents("URL.com/test.json");
$data = json_decode($json, true);

$data->packages->id[0];

echo $data;

    ?>

我明白了

注意:尝试在第 10 行的 PATH 中获取非对象的属性“包”

注意:尝试在第 10 行获取 PATH 中非对象的属性“id”

【问题讨论】:

  • echo $data['packages'][0]['id'];
  • 当您将TRUE 作为第二个参数传递给json_decode() 时,结果是一个数组,而不是一个对象。
  • 显然,您的 JSON 无效!

标签: php html json


【解决方案1】:

您试图将数据作为对象获取,而 json_decode 返回一个关联数组。

所以请改用$data['packages'][0]['id'];

或者您可以将您的 json_decode 更改为 json_decode($json, false); 第二个参数定义你想要一个对象还是一个数组。

你应该可以像这样使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多