Use canonical JSON to generate IDs