Implement json schema generator plugin, fix #305