On Wednesday, 13 November 2013 at 05:26:54 UTC, jean christophe
wrote:
Hello
would you guys say that std.json is a good or bad choice dor a
desktop application ? I've read many threads about it on the
forum and finally I don't realy know what to do Oo`
I need my Gtkd application to maintain a (possibly big) archive
database of financial records downloaded daily from the server
application. In my case JSON seems to be the most convenient
format. Please let me know if, according to you, std.json will
cast aside as std.xml.
Thenks.
PS: As I'm new to the forum, I'd like to thank the D core
community for such a GREAT language. I shall admit that it was
difficult to abandon Emacs :s Anyway I've not been so
positively impressed by a new language since Java 0.
I've been using it std.json extensively. I don't really like it
because traversing the structure is not so fun, but it's very
fast and has been very reliable.
Whether or not json is the right choice for your application is
something only you can decide. I know for example that json is a
poor choice for human readable things such as configuration files
because the format is ugly and comments are not allowed, also if
your application must preserve order among fields, forget about
json, order is only preserved among array elements.
json also suffers from data typing issues because the type must
be inferred from the supplied data. For the most part it's OK,
but care must be taken to ensure the right conversions will take
place, for example if you want the number 1 to be seen as a real
number, it must be specified as 1.0.
Finally, json is a subset of java script, and if you are
interfacing with a JS application, it turns out that JS has no
integer types, only real types which are of a lower resolution
than what D can provide, this means that you have to take care
not to overflow integers past a maximum value where precision is
lost. You will not get an error, instead your numbers will lose
some of their less significant digits - it's an insidious problem
if not dealt with at the source ends.
I guess that I'm saying is that while std.json is rock solid and
very fast, you may want to consider better alternatives to the
json format unless there's a technical reason why json must be
used.
Have fun :)
--rt