Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从json值中删除单个引号_Php_Arrays_Associative Array - Fatal编程技术网

Php 如何从json值中删除单个引号

Php 如何从json值中删除单个引号,php,arrays,associative-array,Php,Arrays,Associative Array,api中的Json返回特殊字符,我想将其删除,因为它会导致问题 这是json的一部分 [ { "id": "email", "value": "Email\b\b\b\b\b\b\b\b" }, { "id": "email", "value": "xxx@email.com\f\f\f\f\f\f\f\f\f\f\f\f" }

api中的Json返回特殊字符,我想将其删除,因为它会导致问题

这是json的一部分


    [
        {
            "id": "email",
            "value": "Email\b\b\b\b\b\b\b\b"
        },
        {
            "id": "email",
            "value": "xxx@email.com\f\f\f\f\f\f\f\f\f\f\f\f"
        },
        {
            "id": "email",
            "value": "xxx@email.com\u0001"
        }
    ]

我只想要电子邮件,而不是反斜杠后面的字符

我试过修剪()和预匹配


    $maps_json = file_get_contents('ats.json');
    $maps_array = json_decode($maps_json);

    var_dump(str_split($maps_array[0]->value));

以上返回此值,我想删除电子邮件地址后的所有其他字符


    array(13) {
      [0]=>
      string(1) "E"
      [1]=>
      string(1) "m"
      [2]=>
      string(1) "a"
      [3]=>
      string(1) "i"
      [4]=>
      string(1) "l"
      [5]=>
      string(1) "
      [6]=>
      string(1) "
      [7]=>
      string(1) "
      [8]=>
      string(1) "
      [9]=>
      string(1) "
      [10]=>
      string(1) "
      [11]=>
      string(1) "
      [12]=>
      string(1) "
    }


正如您所看到的,此值包含额外的字符,我不确定如何删除这些字符。首先,您应该强制json源不向您提供反斜杠符号,但是如果您不能这样做,请尝试以下操作:

$json= str_replace(["\b","\f"], "", $json);
$maps_array = (json_decode($json));
var_dump(str_split($maps_array[0]->value));
输出:

array(5) {
[0]=>
 string(1) "E"
 [1]=>
 string(1) "m"
 [2]=>
 string(1) "a"
 [3]=>
 string(1) "i"
 [4]=>
 string(1) "l"
}

用str_replace移除反斜杠标记。但是,如果你有更多的特殊符号,你可以考虑更高级的字符删除功能。

使用<代码> VARY-DUMP(Aray-FieldFig(StrusRead($MAPSL数组[0 ] -> value)));代码>没有运气请添加您的解决方案作为问题的答案,以便其他人获得帮助。在您的答案中添加此链接以供进一步研究:-