我有以下字符串:
"{\"ttl\": null\054 \"card_id\": \"np\"}.DPSXmw.VApKpbKiEnEoRgwWblgt-nuewFg"
我可以使用条带斜线整理它,因此它变为:
"{"ttl": null, "card_id": "np"}.DPSXmw.VApKpbKiEnEoRgwWblgt-nuewFg"
我需要获取np
的值,但我不确定如何执行此操作。最好是删除尾随文本并将其作为JSON解决,还是我最好使用其他方法?
有问题的字符串确实包含包装“”
当前代码:
echo stripslashes($VCIDcookie);
$string = stripslashes($VCIDcookie);
output of $string: "{"ttl": null54 "card_id": "np"}.DPSXmw.VApKpbKiEnEoRgwWblgt-nuewFg"
$string = explode('}', $string);
$json = json_decode($string[0] .'}');
echo $json->card_id;
更新代码 - 我使用trim()来删除包装引号,因此字符串没有它们但我仍然没有得到np
输出:
$string = trim($VCIDcookie,'"');
$string = stripslashes($string);
echo $string;
$string = explode('}', $string);
$json = json_decode($string[0] .'}');
echo $json->card_id;
答案 0 :(得分:3)
试试这个:
$string = '{"ttl": null, "card_id": "np"}.DPSXmw.VApKpbKiEnEoRgwWblgt-nuewFg';
$string = explode('.', $string);
$json = json_decode($string[0]);
echo $json->card_id;
关怀:我认为 ttl 或 card_id 没有“。”他们的价值观。
或者,为了避免“。”的问题。 :
$string = '{"ttl": null, "card_id": "np"}.DPSXmw.VApKpbKiEnEoRgwWblgt-nuewFg';
$string = explode('}', $string);
$json = json_decode($string[0] .'}');
echo $json->card_id;