在一个巨大的字符串中,我试图清理成 json。我遇到这样的事情会破坏脚本(通常来自同一来源多次)
{
29646191: [bunchofjson]
}
有没有我可以做的 preg_replace 来替换所有出现的
{
stringofrandomlysizednumbers: [anything]
}
和
{
"string...numbers": [anything]
}
没用的事情清单:
$output = preg_replace('/([^\\\])":([0-9]{10,})(,|})/', '$1":"$2"$3', $output);
$output = preg_replace('/("\w+"):(\d+)(.\d+)?/', '\\1:"\\2\\3"', $output);
$output = preg_replace('/("\w+"):(\d+)/', '\\1:"\\2"', $output);
$output = preg_replace('/(\d+):/', '"$1":', $output);
$output = preg_replace('/("\w+"):(\d+)(.\d+)?/', '\\1:"\\2\\3"', $output);
$output = preg_replace('/:\s*(\-?\d+(\.\d+)?([e|E][\-|\+]\d+)?)/', ': "$1"', $output);
$output = json_decode($output, true, 512, JSON_BIGINT_AS_STRING));
(在理想情况下,我将 json 解码为关联数组)