• Simen Heggestøyl's avatar
    Enable sorting of JSON object keys when encoding · 1e363a8e
    Simen Heggestøyl authored
    * lisp/json.el (json-encoding-object-sort-predicate): New variable for
    specifying a sorting predicate for JSON objects during encoding.
    (json--plist-to-alist): New utility function.
    (json-encode-hash-table): Re-use `json-encode-alist' when object keys
    are to be sorted.
    (json-encode-alist): Sort output by
    `json-encoding-object-sort-predicate, when set.
    (json-encode-plist): Re-use `json-encode-alist' when object keys are
    to be sorted.
    (json-pretty-print-buffer-ordered): New command to pretty print the
    buffer with object keys sorted alphabetically.
    (json-pretty-print-ordered): New command to pretty print the region with
    object keys sorted alphabetically.
    
    * test/automated/json-tests.el (test-json-plist-to-alist)
    (test-json-encode-plist, test-json-encode-hash-table)
    (test-json-encode-alist-with-sort-predicate)
    (test-json-encode-plist-with-sort-predicate): New tests.
    
    * etc/NEWS: Add an entry for the new commands.
    1e363a8e
json-tests.el 3.96 KB