用php读取多个json值

时间:2010-03-15 09:11:48

标签: php json

我正在尝试从php中的json字符串中读取某些值,我能够只使用一个值(例如

)来创建一个简单的json字符串
$json = '{"value":"somevalue"}';

使用此:

<?php 
      $json = '{"value":"somevalue"}';
      $obj = json_decode(json_encode($json));
      print $obj->{'value'};
?>

但是当我尝试从以下json字符串中获取值时,它会抛出错误...

$json = '{"field": "title","rule": {"required": "true","minlength": "4","maxlength": "150" }}';

我在JSONlint上验证了json,但不确定如何使用php访问其中的值。

  • 感谢

3 个答案:

答案 0 :(得分:3)

你可以试试这个:

$json = '{"field": "title","rule": {"required": "true","minlength": "4","maxlength": "150" }}'; 
//since $json is a  valid json format you needn't encode and decode it again
$obj = json_decode($json);
print_r($obj->filed);
print_r($obj->rule);

答案 1 :(得分:0)

您可以将true作为第二个参数传递给json_decode(),以便将结果作为数组

$my_arr = json_decode($json, true);
var_dump($my_arr);

应该帮助你。然后,您可以像平常一样逐步浏览数组。

答案 2 :(得分:0)

使用var_dump打印出包含所有成员和层次结构的对象。那么你应该能够找到你想要的价值