History log of /haiku/src/kits/shared/Json.cpp
Revision Date Author Comments
# b45e8b1e 19-Mar-2018 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : additional debugging for json-rpc invocations


# a1c3daa6 01-Aug-2017 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : Streaming Icon Meta-Data Parser

More background work for later performance improvements.
This change generalizes the parsing of meta-data from
JSON streams as similarly structured meta-data is
anticipated to be carried in other payloads. Unit tests
have also been implemented to provide coverage on this
new functionality.


# 55f5f259 15-May-2017 Andrew Lindesay <apl@lindesay.co.nz>

JSON Parser : code style corrections


# 1f6b57a5 13-May-2017 Andrew Lindesay <apl@lindesay.co.nz>

Implementation of JSON Streaming Parser

This change will introduce a streaming parser capability to Haiku. The
existing functionality of writing the JSON data to a BMessage in-memory
model is retained. The new parser implements a SAX-style listener based
interface where the listener accepts parse events. Unit tests have been
supplied for the JSON parser as well.


# 6c9415e3 09-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

BJson: Use the normal "input, output" argument ordering instead of the reverse.

Update all in-tree consumers of the BJson API to match. Also added
const-qualifiers to the BString versions of the API, and added the leading
"_" to the header guards.


# aae43137 08-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

BJson: Fixes, tweaks, and behavioral changes based on the JSON Minefield Tests.

As found on http://seriot.ch/parsing_json.php -- anything using the API
presently with valid JSON should have no troubles, but more valid JSON
that previously didn't work now does (e.g. JSON with root array nodes, not
root map nodes), and invalid JSON that silently succeeded before now fails.

Not all the bad cases from that testsuite now fail, and not all of the good
ones pass, but the few that remain are odd things that wouldn't map well to
the BMessage API (e.g. root string nodes, etc.) or are other behaviors that
make sense to leave as they are for compatibility reasons.


# c144d339 01-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

Json: use B_PRI* constants

This fixes the x86_64 build.


# e9c77bd2 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Added TODOs.


# ee942591 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Fixed increasing position after constants.

The first letter is already increased by the main parse loop.


# ffd7c611 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Improve by using exceptions to get exact error

Also strip redundant "_Parser_" prefix from private methods.


# 79c1d45c 24-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

libshared: fix x86_64 build


# e4d2963e 04-Aug-2014 Augustin Cavalier <waddlesplash@gmail.com>

libshared: Introduce JSON parser and MessageBuilder.

Based on an earlier piece of source code of mine that parsed JSON into
QObjects, this JSON parser creates a BMessage tree.

Will be used by Stephan in HaikuDepot for communication with the web app.


# c144d33901412cccf289d0b40b7c62e1560f5070 01-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

Json: use B_PRI* constants

This fixes the x86_64 build.


# e9c77bd249d56840c153bcced386ca961162e1ab 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Added TODOs.


# ee942591caab3ded1222012d865605a66af17cc4 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Fixed increasing position after constants.

The first letter is already increased by the main parse loop.


# ffd7c6110b379115cef52fc40e03fdcf50eecb5b 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Improve by using exceptions to get exact error

Also strip redundant "_Parser_" prefix from private methods.


# 79c1d45cee995683a7cfbbf8b49ef2024a2eefd7 24-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

libshared: fix x86_64 build


# e4d2963e01eaa559c4cdc7165cd8ea0925e165dd 04-Aug-2014 Augustin Cavalier <waddlesplash@gmail.com>

libshared: Introduce JSON parser and MessageBuilder.

Based on an earlier piece of source code of mine that parsed JSON into
QObjects, this JSON parser creates a BMessage tree.

Will be used by Stephan in HaikuDepot for communication with the web app.