use aot-friendly json parser