我需要将一个
PHP数组转换为json,但是我没有得到我的期望.
我想要它是一个对象,我可以轻松导航与数字索引.
以下是一个示例代码:
我想要它是一个对象,我可以轻松导航与数字索引.
以下是一个示例代码:
$json = array(); $ip = "192.168.0.1"; $port = "2016"; array_push($json,["ip" => $ip,"port" => $port]); $json = json_encode($json,JSON_PRETTY_PRINT); // ----- json_decode($json)["ip"] should be "192.168.0.1" ---- echo $json;
This is what I get
[ [ "ip" => "192.168.0.1","port" => "2016" ] ]
But I want to get an object instead of array:
{ "0": { "ip": "192.168.0.1","port": "2016" } }
谢谢 :)
你想要json_encode($json,JSON_FORCE_OBJECT).
顾名思义,JSON_FORCE_OBJECT
标志强制将json输出作为一个对象,即使否则通常也可以表示为一个数组.
您还可以消除对一些稍微清洁的代码使用array_push:
$json[] = ['ip' => $ip,'port' => $port];