简体   繁体   English

将数组转换为Json以保存到数据库

[英]Convert Array to Json for save to database

Hello i have an array like this: 您好我有一个像这样的数组:

$data = Array(
[0] => {"detail":"l,red","sku":"#123","price":"50","stok":""}
[1] => {"detail":"l,black","sku":"#123","price":"50","stok":""}
[2] => {"detail":"m,red","sku":"#123","price":"50","stok":""}
[3] => {"detail":"m,black","sku":"#123","price":"50","stok":""}
[4] => {"detail":"s,red","sku":"#123","price":"50","stok":""}
[5] => {"detail":"s,black","sku":"#123","price":"50","stok":""}
)

when i use this : 当我使用这个:

$data = json_encode($data , JSON_FORCE_OBJECT);

but the result like : 但结果像:

{"0":"{\"detail\":\"l,red\",\"sku\":\"#123\",\"price\":\"50\",\"stok\":\"\"}","1":"{\"detail\":\"l,black\",\"sku\":\"#123\",\"price\":\"50\",\"stok\":\"\"}","2":"{\"detail\":\"m,red\",\"sku\":\"#123\",\"price\":\"50\",\"stok\":\"\"}","3":"{\"detail\":\"m,black\",\"sku\":\"#123\",\"price\":\"50\",\"stok\":\"\"}","4":"{\"detail\":\"s,red\",\"sku\":\"#123\",\"price\":\"50\",\"stok\":\"\"}","5":"{\"detail\":\"s,black\",\"sku\":\"#123\",\"price\":\"50\",\"stok\":\"\"}"}

i don't like "\\" result. 我不喜欢“\\”的结果。 is there something wrong? 有什么不对?

If you don't like these slashes, you should decode inner JSON strings first: 如果您不喜欢这些斜杠,则应首先解码内部JSON字符串:

$data = json_encode(array_map(function ($item) {
    return json_decode($item, true);
}, $data), JSON_FORCE_OBJECT);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM