Andreas Kling
93dff5df34
AK: Add JsonArray::ensure_capacity()
...
This is helpful for anyone who knows up-front how many items are gonna
be appended to the JsonArray.
2019-10-23 14:55:21 +02:00
Sergey Bugaev
216b7b3b80
JSON: Port JsonArray and JsonObject serialization to serializers
...
This way, primitive JsonValue serialization is still handled by
JsonValue::serialize(), but JsonArray and JsonObject serialization
always goes through serializer classes. This is no less efficient
if you have the whole JSON in memory already.
2019-08-27 14:56:09 +02:00
Andreas Kling
f6998b1817
JSON: Templatize the JSON serialization code
...
This makes it possible to use something other than a StringBuilder for
serialization (and to produce something other than a String.) :^)
2019-08-07 21:29:32 +02:00
Andreas Kling
82826104e0
Json: Add efficient copy and move constructors for Json{Array,Object}
...
This helps avoid copying JsonValues during parsing.
2019-08-04 11:45:16 +02:00
Andreas Kling
210550d4b3
JsonArray: Expose the value vector to the outside for convenience
...
Sometimes it's easier to just work with a const Vector<JsonValue>&,
so give clients the option of doing that.
2019-08-04 10:05:02 +02:00
Andreas Kling
15003245cd
JsonArray: Add for_each() helper.
2019-06-24 12:02:31 +02:00
Andreas Kling
aa3df518e7
AK: Rename JsonObject::to_string() and pals to serialized().
...
And the variant that serializes into a StringBuilder is called serialize().
2019-06-18 09:37:47 +02:00
Andreas Kling
ee347effac
AK: Use a single StringBuilder throughout JSON serialization.
2019-06-17 21:36:54 +02:00
Andreas Kling
04a8fc9bd7
AK: Add some classes for JSON encoding.
...
This patch adds JsonValue, JsonObject and JsonArray. You can use them to
build up a JsonObject and then serialize it to a string via to_string().
This patch only implements encoding, no decoding yet.
2019-06-17 19:47:35 +02:00