bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#70007: [PATCH] native JSON encoder


From: Mattias Engdegård
Subject: bug#70007: [PATCH] native JSON encoder
Date: Tue, 26 Mar 2024 16:33:52 +0100

If we replace the lisp-to-JSON encoder with native code, we would not need the 
jansson library for it and it would be faster.

There is ongoing work on a JSON-to-lisp parser, but the author has made it 
clear that he does not have time to write an encoder, so I spent a morning 
mashing up the attached patch.

It generally produces the same result as the old code, except:

- The old code incorrectly accepted strings with non-Unicode characters (raw 
bytes). There is no reason to do this; JSON is UTF-8 only.
- The old code spent a lot of time ensuring that object keys were unique. The 
new code doesn't: it's a garbage-in garbage-out type of situation.

The new code could do with some optimisation but it's already about twice as 
fast as the old code, sometimes more.

I'd be very happy if someone could test it with packages that use this 
interface (json-serialise, json-insert).

Attachment: json-serialise.diff
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]