support arbitrary json keys