我有一个从网站抓取的json对象
{
area: {
"lang": "en",
"area": "25",
"region": "mea"
},
config: {
"rtl": false,
"breakpoint": 768
}
}
由于季节区域和 config 而没有用双引号引起来php函数 json_decode 会取消NULL
如果尚未在双引号中包含双引号,如何在php中将双引号添加到区域和 config ?
答案 0 :(得分:1)
使用正则表达式替换(假定格式)。
$json = preg_replace('/([^"\s]+)+: ?{/', '"$1": {', $js_object);
对于提供的字符串,您还需要检查两件事:
"Your selection: {packageName}"
)这是更新的代码:
$js_object = '...';
$json_proper_backslashes = preg_replace('#\\\\([^"\\\\\/bfnrtu])#', '\\\\\\\\$1', $js_object);
$json = preg_replace('/({|},)\s*([^"\s]+): ?{/', '$1"$2": {', $json_proper_backslashes);
$json_object = json_decode($json);