我知道我的JSON是有效的,我想要将所有KEY从数组中拉出来并将它们放在一个对象中。但是,似乎我可以访问一个对象Key或Value,整个数组或一个键值对。我还没弄清楚如何解析出所有键或数组中的所有值。
这是我尝试过的:
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])yeilds:
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]);
?>
JSON根据JSONLint验证
[
[
"uploads/featured/doublewm-4097.jpg",
"featured"
],
[
"uploads/featured/moon-5469.jpg",
"featured"
]
]
我想最终得到一个带有json_obj中所有键的对象... ie:
json_obj = array(
'uploads/featured/moon-5469.jpg',
'uploads/featured/doublewm-4097.jpg'
);
答案 0 :(得分:1)
如果您的输入始终采用相同的格式,则可以像这样处理
$tmp = json_decode($resultSet);
$json_obj = array();
foreach ($tmp as $values) {
array_push($json_obj, $values[0]);
}
这将为您提供所需格式的$json_obj
,其中包含您提供的硬编码$resultSet
。
答案 1 :(得分:0)
也许这就是你要找的东西:
json编码服务器端像:
echo json_encode($html);
json解析客户端像
var str = JSON.parse(data);
alert (JSON.stringify(str))
答案 2 :(得分:0)
我设法解决了这个问题:
将json对象更改为此格式
data = { gallery: gallery_name,
files: [
// imagefile,imagefile,imagefile...
]
};
使用以下php
$resultSet = json_decode($_GET['submittedResults'], true);
$gallery = $resultSet['gallery'];
$files_to_zip = $resultSet['files'];