使用php读取多个json值

使用php读取多个json值,php,json,Php,Json,我试图从php中的json字符串中读取某些值,我能够用一个值来创建一个简单的json字符串,例如 $json = '{"value":"somevalue"}'; 使用此选项: <?php $json = '{"value":"somevalue"}'; $obj = json_decode(json_encode($json)); print $obj->{'value'}; ?> 我在JSONlint上验证了json,但不确定如何使

我试图从php中的json字符串中读取某些值,我能够用一个值来创建一个简单的json字符串,例如

$json = '{"value":"somevalue"}';
使用此选项:

<?php 
      $json = '{"value":"somevalue"}';
      $obj = json_decode(json_encode($json));
      print $obj->{'value'};
?>
我在JSONlint上验证了json,但不确定如何使用php访问其中的值

  • 谢谢

您可以将
true
作为第二个参数传递给
json\u decode()
,以数组形式获取结果

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

我应该帮助你。然后,您可以像平常一样单步遍历数组。

您可以将
true
作为第二个参数传递给
json\u decode()
,以数组的形式获得结果

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

我应该帮助你。然后,您可以像平常一样单步遍历数组。

使用
var\u dump
打印出对象及其所有成员和层次结构。然后,您应该能够找到要查找的值

使用
var\u dump
打印出对象及其所有成员和层次结构。然后您应该能够找到您要查找的值

您可以尝试以下方法:

$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);
您可以尝试以下方法:

$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);

它抛出了什么错误,抛出它的代码是什么?试图在第21行的C:\wamp\www\l\public\grr.php中获取非对象的属性您试图访问一个类似对象的数组。使用
$obj['value']
它会抛出什么错误,抛出错误的代码是什么?试图在第21行的C:\wamp\www\l\public\grr.php中获取非对象的属性您试图访问类似对象的数组。使用
$obj['value']
这不是我的问题,我可以打印出所有的值,但我无法访问其中一个值:$json='{“field”:“title”,“rule”:{“required”:“true”,“minlength”:“4”,“maxlength”:“150”}$json=json_encode($json)$obj=json_decode($json,true);打印$obj->{'field'};**试图在C:\wamp\www\l\public\grr.php第21行**中获取非对象的属性,如果将
true
传递给
json\u decode()
,它将返回一个数组,而不是对象。您需要以通常用于数组的方式访问元素。@jason首先,请不要在注释字段中发布代码,这很混乱。:)其次,当使用
json_decode(…,true)
时,结果实际上不是一个对象,而是一个数组。然而你却试图像一个对象一样访问它。错误消息非常正确。这不是我的问题,我可以打印出所有值,但无法访问其中一个值:$json='{“字段”:“标题”,“规则”:{“必需”:“true”,“minlength”:“4”,“maxlength”:“150”}$json=json_encode($json)$obj=json_decode($json,true);打印$obj->{'field'};**试图在C:\wamp\www\l\public\grr.php第21行**中获取非对象的属性,如果将
true
传递给
json\u decode()
,它将返回一个数组,而不是对象。您需要以通常用于数组的方式访问元素。@jason首先,请不要在注释字段中发布代码,这很混乱。:)其次,当使用
json_decode(…,true)
时,结果实际上不是一个对象,而是一个数组。然而你却试图像一个对象一样访问它。错误信息非常正确。@jason,请不要总是将您的问题保留为未回答状态,这将是一种负面记录。@jason,请不要总是将您的问题保留为未回答状态,这将是一种负面记录。