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

在PHP中解析JSON

龙德义
2023-03-14
问题内容

我有以下JSON字符串:

{"Data":{"Recipes":{"Recipe_5":{"ID":"5","TITLE":"Spaghetti Bolognese"},"Recipe_7":{"ID":"7","TITLE":"Wurstel"},"Recipe_9":{"ID":"9","TITLE":"Schnitzel"},"Recipe_10":{"ID":"10","TITLE":null},"Recipe_19":{"ID":"19","TITLE":null},"Recipe_20":{"ID":"20","TITLE":"Hundefutter"},"Recipe_26":{"ID":"26","TITLE":"Apfelstrudel"},"Recipe_37":{"ID":"37","TITLE":null},"Recipe_38":{"ID":"38","TITLE":"AENDERUNG"},"Recipe_39":{"ID":"39","TITLE":null},"Recipe_40":{"ID":"40","TITLE":"Schnitzel"},"Recipe_42":{"ID":"42","TITLE":"Release-Test"},"Recipe_43":{"ID":"43","TITLE":"Wurstel2"}},"recipes_id":{"ranking_1":"9","ranking_2":"10","ranking_3":"7","ranking_4":"5"}},"Message":null,"Code":200}

如何在PHP中解析它并提取TITLEs 列表?


问题答案:

您可以使用该函数json_decode来解析PHP中的JSON数据(至少=> 5.2.0)。一旦有了PHP对象,就可以轻松地遍历所有配方/成员并使用以下内容访问其标题:

$data = json_decode($json, true); // yields associative arrays instead of objects
foreach ($data['Data']['Recipes'] as $key => $recipe) {
    echo $recipe['TITLE'];
}

(对不起,我现在无法真正运行此代码。希望无论如何它都会有所帮助。)



 类似资料:
  • 问题内容: 我知道我们可以使用PHP DOM 来使用PHP解析HTML。我也在堆栈溢出中发现了很多问题。但是我有一个特定的要求。我有如下的HTML内容 我想解析以上HTML并将内容保存到两个不同的数组中,例如: 和 我可以简单地使用jQuery来实现。但是我不确定这是否正确。如果有人能指出我正确的方向,那就太好了。提前致谢。 问题答案: 尝试查看PHP简单HTML DOM解析器 它具有类似于jQu

  • 我通过Javascript调用一个帖子请求,看起来是这样的, 我试图收回这样的价值观, 这是返回为空,我怎么能从PHP中的获取后请求检索值。谢啦

  • 问题内容: 我试图从提供格式数据的Web服务请求天气。我的PHP请求代码失败了: 这是返回的一些数据。为了简洁起见,一些细节已被截断,但保留了对象完整性: 问题答案: 这似乎起作用: 如果将json_decode的第二个参数设置为true,则会得到一个数组,因此无法使用->语法。我还建议您安装JSONview Firefox扩展 ,以便您可以以类似于 Firefox显示XML结构的漂亮格式的树状视

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

  • 问题内容: 我正在尝试将sql查询转换为php数组。 例如: SELECT col_name FROM tbl_name WHERE col_name > 0; 必须返回如下内容: 我发现了这个。MB,您知道更好的解决方案吗? 问题答案: 有几个软件包可用于此任务: package :http : //pear.php.net/package/SQL_Parser(仍然很新) txtSQL :ht