在一個GIGANTIC字符串中,我試圖清理成json。我遇到這樣的事情,打破了腳本(來自同一來源通常多次)Preg_Replace for big int擬合某種模式
{
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解碼爲關聯數組)
你可以給你一些* *實例從你的數據? – phant0m
您的原始示例看起來像完全有效的JSON。也許你應該使用更好的(或簡單的標準)JSON解析器?什麼錯誤信息會在你休息時給你什麼? – mvp
你在「沒有工作的事情列表」中的第四次嘗試爲我工作。 – Barmar