【发布时间】:2014-01-07 11:12:16
【问题描述】:
我知道我的 JSON 是有效的,我想将所有 KEY 从数组中提取出来并将它们放入一个对象中。但是,我似乎可以访问一个对象键或值、整个数组或一个键值对。我还没有弄清楚如何解析出所有的键,或者数组中的所有值。
这是我尝试过的:
print_r($json_obj) 产生:
Array ( [0] => Array ( [0] => uploads/featured/doublewm-4097.jpg [1] => featured ) [1] => Array ( [0] => uploads/featured/moon-5469.jpg [1] => featured ) )
print_r($json_obj[0][1]) 产生:
featured
print_r($json_obj[1][0]) 产生:
uploads/featured/moon-5469.jpg
print_r($json_obj[1][1]) 产量:
featured
print_r($json_obj[0][0]) 产生:
uploads/featured/doublewm-4097.jpg
PHP 代码:
<?php
$resultSet = '[["uploads/featured/doublewm-4097.jpg","featured"],
["uploads/featured/moon-5469.jpg","featured"]]';
$json_obj = json_decode($resultSet);
// print_r($json_obj);
print_r($json_obj[0][1]);
?>
每个 JSONLint 的 JSON 验证
[
[
"uploads/featured/doublewm-4097.jpg",
"featured"
],
[
"uploads/featured/moon-5469.jpg",
"featured"
]
]
我想最终得到一个包含 json_obj 中所有键的对象...即:
json_obj = array(
'uploads/featured/moon-5469.jpg',
'uploads/featured/doublewm-4097.jpg'
);
【问题讨论】:
-
您的问题到底是什么?
json_decode正确解码给定的 JSON - 如果您想要不同的东西,您可以轻松地遍历数组并创建新结果。 -
您的输入和预期输出是什么?说清楚。
-
我的输入被硬编码到 resultSet= " ";我的预期输出是来自 JSON 的文件路径(键)数组......类似于 json_obj = array();最后的例子