php - 将数组转换为 Json 以保存到数据库
问题描述
你好我有一个这样的数组:
$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":""}
)
当我使用这个:
$data = json_encode($data , JSON_FORCE_OBJECT);
但结果如下:
{"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\":\"\"}"}
我不喜欢“\”的结果。有什么不对?
解决方案
如果你不喜欢这些斜线,你应该首先解码内部 JSON 字符串:
$data = json_encode(array_map(function ($item) {
return json_decode($item, true);
}, $data), JSON_FORCE_OBJECT);
推荐阅读
- java - 通过另一个活动向活动发送价值
- c++ - hdfs c 程序失败,出现“异常:ExceptionUtils::getStackTrace 错误。)”
- javascript - JavaScript getComputedStyle 不适用于颜色名称?
- design-patterns - 哪种设计模式可以序列化对象 Builder 和 Visitor ?
- python - 查找图形的峰值和底部并标记它们
- javascript - 我可以保存我使用 Javascript(可能使用 PHP)编辑的图像,以便更改是永久性的吗?
- php - 使用类名,如何从有效的 HTML 文档中提取 div 元素及其 innerHTML?
- vb.net - 对象是任何 TKey 和 TValue 的字典(不获取 TKey 和 TValue)
- fabricjs - this.canvas.loadFromJson 不是函数
- android - 我想以编程方式添加单选按钮并设置第一个项目被选中?