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

用PHP解析JSON数据

史旺
2023-03-14
问题内容

我已经多次解析JSON数据,但是由于某种原因,无法找到嵌套数据时要使用的正确语法。我正在尝试从此JSON解析“资产”,但是无论我尝试什么,都继续获取为foreach()提供的无效参数。

   "3435":{
      "name":"COLO-1014-SJ1",
      "nickname":"US-SJC-004",
      "type":"Colocated Server",
      "location":"San Jose:55 S Market",
      "assets":{
         "CPU":[
            {
               "model":"Intel E3 1270"
            }
         ],
         "Hard Drives":[
            {
               "model":"Western Digital 500GB RE4 ABYX SATA"
            },
            {
               "model":"Western Digital 500GB RE4 ABYX SATA"
            },
            {
               "model":"Kingston 240GB SSD"
            }
         ],
         "RAM":[
            {
               "model":"Super Talent 4GB DDR3 1333 ECC"
            },
            {
               "model":"Super Talent 4GB DDR3 1333 ECC"
            },
            {
               "model":"Super Talent 4GB DDR3 1333 ECC"
            },
            {
               "model":"Super Talent 4GB DDR3 1333 ECC"
            }
         ],

我希望这是…

$json = json_decode($jsondata, true);

foreach ($json as $item)
{
    foreach ($item['assets']->RAM as $asset)
    {
        echo $asset->model;
    }

问题答案:

来自php官方文档:http :
//php.net/manual/fr/function.json-
decode.php

第二个func arg用于assoc数组返回。如果您更喜欢操纵assoc数组而不是对象,则可以使用它。

但是实际上您在循环中混合了数组和对象。

如果您将arg保持在TRUE,请使用$item['assets']['RAM']



 类似资料:
  • 问题内容: 我正在尝试从Google购物API中提取数据。我能够成功下载数据,但是在使用PHP解析数据时遇到了麻烦。我仍在学习,但是我似乎在多维数组方面遇到问题。我使用捕获JSON 。 以下只是呼应外部数组,但我不能从内部数组中提取: 如果要获取每个产品的“标题”,“描述”,“品牌”和“可用性”,我将如何解析? 问题答案: 您的JSON是数组 和对象 的混合 体 。因此,数组表示法不适用于所有项目

  • 问题内容: 想知道为什么我的PHP代码不会在JSON数据中显示“值”的所有“值”: 第一个foreach工作正常,但第二个抛出错误。 问题答案: 您可能想要执行以下操作:

  • 本文向大家介绍PHP使用foreach解析JSON数组,包括了PHP使用foreach解析JSON数组的使用技巧和注意事项,需要的朋友参考一下 以下代码可用于解析JSON数组- 示例 输出结果 这将产生以下输出-

  • 问题内容: 我有以下JSON字符串: 如何在PHP中解析它并提取s 列表? 问题答案: 您可以使用该函数来解析PHP中的JSON数据(至少=> 5.2.0)。一旦有了PHP对象,就可以轻松地遍历所有配方/成员并使用以下内容访问其标题: (对不起,我现在无法真正运行此代码。希望无论如何它都会有所帮助。)

  • 问题内容: 我想解析此页面上的一些数据:http : //www.bbc.co.uk/radio1/programmes/schedules/england/2013/03/1.json 我想解析的数据是标题,但是我不确定如何提取数据。到目前为止,这是我所做的: } 这只是返回null。有人可以告诉我我需要更改吗?谢谢。 问题答案: 如果您阅读的Javadoc 实际上是,它会指出 返回: 指定键映

  • 问题内容: 我正在提取无效的JSON JSON提要。它完全缺少引号。我尝试了一些操作,例如和,以使该字符串看起来更像有效的JSON,但是在其中包含关联JSON字符串的情况下,通常会弄糟。 这是一个例子: 是否有任何php的JSON解析器可以处理这样的无效JSON? 编辑:我试图在此字符串上使用。它什么也不返回。 问题答案: 所有引号应为双引号而不是单引号。 所有键都应加引号。 整个元素应该是一个对