我有一些JSON,如果我print "foo_1: {}".format(foo_1)
输出如下:
var_dump
我想找回租约'作为一个字符串。
我尝试过施展它:
var_dump( $oJSON->{$oQ->sQuestionName} );
object(stdClass)[14]
public 'Lease' => boolean true
但它会返回(string)$oJSON->{$oQ->sQuestionName}
:
E_RECOVERABLE
以下作品,但我觉得必须有更好的方法吗?
E_RECOVERABLE_ERROR Error: Object of class stdClass could not be converted to string
N.B。由于兼容性问题,我无法使用以下内容
array_shift(array_values(array_keys(get_object_vars($oJSON->{$oQ->sQuestionName}))));
答案 0 :(得分:1)
您可以先将所需对象转换为数组
$array = (array) $oJSON->{$oQ->sQuestionName};
然后你可以拿出它的第一个元素的键
echo key($array); // Should say Lease
<强> Fiddle 强>
答案 1 :(得分:1)
使用ReflectionClass::getProperties()
获取对象属性的列表。
$reflect = new ReflectionClass($foo);
$props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);
答案 2 :(得分:0)
您可以将
一起使用true
与第二个参数$str = '{"0":{"id":"123","name":"Title"}}'; var_dump(json_decode($str,true));
例如:
-Djava.net.preferIPv4Stack=true
因此,您将拥有一个包含字符串对象的数组。