У меня есть объект json, вырезанный с веб-сайта
{
area: {
"lang": "en",
"area": "25",
"region": "mea"},
config: {
"rtl": false,
"breakpoint": 768
}
}
из-за сезона площадь а также конфиг не заключён в двойные кавычки json_decode Возвращает NULL
как добавить двойные кавычки в php площадь а также конфиг если они еще не заключены в двойные кавычки?
Используйте регулярное выражение замены (при условии формата).
$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);
Других решений пока нет …