【问题标题】:Convert json to text, separated by commas [duplicate]将json转换为文本,用逗号分隔[重复]
【发布时间】:2021-10-07 18:59:18
【问题描述】:

如何用php转换这个json

    [{"value":"jquery"},{"value":"bootstrap"}]

jquery, bootstrap

反之亦然?

【问题讨论】:

    标签: php json


    【解决方案1】:

    首先你需要将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);
    

    See it working on 3V4L

    【讨论】:

      猜你喜欢
      • 2012-01-02
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多