[X-update] use extension_loaded('json') for JSON extension check