我有问题将一些JSON序列化为我需要的格式,以便存储在数据库中。
我想要一个像(所以没有键)的结构:
a:10:{s:8:"location";s:5:"London";s:6:"_token";s:40:"5969e8f11f20b12afc6dfc7b9ce4a6acfc44544d";s:8:"producttype";s:6:"rental";}
但是当我这样做时:
$array[] = $postData['queryData'];
$parameters = serialize($array);
我得到一个带密钥的数组:
a:1:{i:0;s:321:"{"location":"London","_token":"140e8a2f50db0e62f42cfd27662b3b746aa7bf22","producttype":"rental"}
如果我这样做:
$parameters = serialize($postData['queryData']);
我只得到一个字符串:
s:321:"{"location":"London","_token":"f7aad7cc4d1e1f8b999970c820001a17a3e6cfee","saletype":"rental"};
答案 0 :(得分:4)
$postData['queryData']
显然是一个JSON字符串。您正在序列化包含JSON数据的PHP字符串。如果要序列化PHP数组结构,则必须在序列化之前将JSON字符串解码为PHP数组:
serialize(json_decode($postData['queryData'], true))