【发布时间】:2021-10-07 18:59:18
【问题描述】:
如何用php转换这个json
[{"value":"jquery"},{"value":"bootstrap"}]
到
jquery, bootstrap
反之亦然?
【问题讨论】:
如何用php转换这个json
[{"value":"jquery"},{"value":"bootstrap"}]
到
jquery, bootstrap
反之亦然?
【问题讨论】:
首先你需要将json_decode()字符串转换成一个对象数组。然后使用array_column() 从这些对象中提取值字段。最后把你implode()数组转换成你的逗号分隔值字符串。
$jsonString = '[{"value":"jquery"},{"value":"bootstrap"}]';
$array = json_decode($jsonString);
$array2 = array_column($array, "value");
$csv = implode(", ", $array2);
走另一条路更复杂。 explode() 是 implode() 的反面,json_encode() 是 json_decode() 的反面,但是没有内置的方法可以像你想要的那样反转 array_column()。因此,您需要使用自己的函数手动将 array_map() 值转换为对象:
$array3 = explode(", ", $csv);
$array4 = array_map(function ($val){
$obj = (object)[];
$obj->value = $val;
return $obj;
}, $array3);
$jsonString2 = json_encode($array4);
【讨论】: