Php 如何从json值中删除单个引号
api中的Json返回特殊字符,我想将其删除,因为它会导致问题 这是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" }
[
{
"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)));代码>没有运气请添加您的解决方案作为问题的答案,以便其他人获得帮助。在您的答案中添加此链接以供进一步研究:-