保留字符串的原始值并像 json 一样对其进行解码


Preserving original value of string and decode it like a json

我想保留目标字段的原始值并使用json_decode使用以下字符串作为对象:

{
    "translatorID": "f4a5876a-3e53-40e2-9032-d99a30d7a6fc",
    "label": "ACL",
    "creator": "Nathan Schneider",
    "target": "^https?://(www[.])?aclweb''.org/anthology-new/[^#]+",
    "minVersion": "1.0.7",
    "maxVersion": "",
    "priority": 100,
    "browserSupport": "gcs",
    "inRepository": true,
    "translatorType": 4,
    "lastUpdated": "2012-01-01 01:42:16"
}

在使用json_decode解析之前,您可以做的是:

$string = str_replace('''', '''''''''', $string);
var_dump(json_decode($string, true));

这一定是 json 解析器中的一个错误。
该方法不是很干净,但至少你得到了结果。

你试过去掉斜杠吗?

这对我有用:

$string = '{
    "translatorID": "f4a5876a-3e53-40e2-9032-d99a30d7a6fc",
    "label": "ACL",
    "creator": "Nathan Schneider",
    "target": "^https?://(www[.])?aclweb'.org/anthology-new/[^#]+",
    "minVersion": "1.0.7",
    "maxVersion": "",
    "priority": 100,
    "browserSupport": "gcs",
    "inRepository": true,
    "translatorType": 4,
    "lastUpdated": "2012-01-01 01:42:16"
}';
var_dump( json_decode(stripslashes ($string)));