rudolph-miller/jonathan

Decoding issue

orthecreedence opened this issue · 5 comments

Hello! I have another decoding issue:

(let ((json "{\"storage\":2.305843009213693952e+20}"))
  (jonathan:parse json))

triggers Unexpected EOF found. Seems it's getting tripped up on the scientific notation.

Thanks!

It seems to be that I forgot to implement kind of e or E notation.
Thanks for your reporting. :)

With this commit(455005e), jonathan can handle e or E annotation, though it take it as float.
So,

(let ((json "2.305843009213693952e+20"))
  (jonathan:parse json))
;; => 2.305843e20 (same as yason:parse)

.

Does it suit you?
If you want it to support more precise float, feel free to ask me; I'll try to implement in some ways. :)

This works perfectly! Thanks!