Patent attributes
Systems and techniques are described for generating canonical representations of JSON documents. One of the techniques includes receiving a first JavaScript Object Notation (JSON) document, wherein the first document includes one or more JSON objects, and wherein each JSON object includes one or more name-value pairs; generating a first canonical representation of the first JSON document, wherein generating the first canonical representation comprises: removing each non-significant whitespace character and non-significant line ending from the first document, for each JSON object, sorting the name-value pairs included in the JSON object lexicographically, and converting one or more instances of a number value type in the first document into a standardized representation of a double data type; and generating a first digital signature for the first JSON document using the first canonical representation.