我试图在不使用json_decode
的情况下将json转换为变量。
例如:
$json = '{
"username": "username",
"password": "pass",
"movies": [
{
"a": "xx",
"b": "xx",
"c": "xx",
"d": 1,
"e": 2
}
]
}';
我试图将其转换为数组:
$post = array(
'username' => 'username',
'passsword' => 'pass',
'movies' => (object) array(
'a' => 'xx',
'b' => 'xx',
"c" => 1,
"d" => 2
)
);
echo json_encode($post);
正如您所看到的,它与movies
阻止不匹配。电影是一个对象。我做错了什么?
答案 0 :(得分:1)
'movies'是一个对象数组:
$post = array(
'username' => 'username',
'passsword' => 'pass',
'movies' => array(
(object) array(
'a' => 'xx',
'b' => 'xx',
'c' => 1,
'd' => 2.
)
)
);
但是你为什么不想使用json_decode()?
答案 1 :(得分:0)
暂且不说为什么你真的没有使用你应该使用的功能......
movies
是一个对象数组,对象实际上只是关联数组。所以它应该更像是:
'movies' => Array(
Array(
"a" => "xx",
"b" => "xx",
...
)
),
答案 2 :(得分:0)
应该是'movies' => array((object) array(
而不是'movies' => (object) array(
示例
echo "<pre>";
$post = array(
'username' => 'username',
'passsword' => 'pass',
'movies' => array((object) array(
'a' => 'xx',
'b' => 'xx',
"c" => 1,
"d" => 2
))
);
echo json_encode($post)
答案 3 :(得分:0)
根据我的理解,你收到的是一个物品。因此,让我们将其转换为json,然后将该json对象转换为关联数组。
$var = json_encode($post['movies'],true);
print_r(json_decode($var,true));