【发布时间】:2016-02-23 20:13:48
【问题描述】:
我正在尝试解析完整的 JSON 结构。我已经能够获取单个嵌套对象,但我希望它比查找每个嵌套结构要简单得多。
这是我拥有的 JSON 结构:
{
"request1": {
"nest11": "solution11",
"nest12": "solution12"
},
"request2": {
"nest21": "solution21",
"nest22": "solution22"
},
"request3": true,
"request3": {
"nest31": "solution31",
"nest32": "solution31",
"nestnest1": {
"nestnest11": "nestsolution11",
"nestnest12": "nestsolution12"
},
"nestrequest2": {
"nestrequest21": [{
"nestnest21": "solution21",
"nestnest22": "solution22"
}]
},
"request4": "solution4"
}
}
当我从 API 获得响应时,假设是 $serverResponse,我正在解码以获取对象
$newobj = json_decode($serverResponse);
foreach ($newobj->request1 as $key=>$value) {
$request1 = "request1.".$key.": <b>". $value."</b><br/>";
}
然后我将其发送回前端进行打印。问题是我该怎么做,这样我就不必遍历每个对象并获得单独的值。无论是否嵌套,我都需要打印所有键值。感谢您的任何指点和帮助!
【问题讨论】:
-
print_r($newobj);将为您打印所有键和值。 -
请给我们有效的json
-
请提取一个任何人都可以运行的最小示例。不要给我们那些 sn-ps 和包含无效 JSON 的模糊描述。
-
为了获得灵感,CakePHP 有一个
Hash.flatten()函数,我认为它与您正在寻找的功能接近:github.com/cakephp/cakephp/blob/master/src/Utility/… -
更新了 json sn-p,它缺少右括号。