1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:57:44 +00:00

AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)

Also add slightly richer parse errors now that we can include a string
literal with returned errors.

This will allow us to use TRY() when working with JSON data.
This commit is contained in:
Andreas Kling 2021-11-15 01:46:51 +01:00
parent 304c03f457
commit 587f9af960
54 changed files with 172 additions and 228 deletions

View file

@ -100,16 +100,16 @@ int main(int argc, char** argv)
auto file_contents = file->read_all();
auto json = JsonValue::from_string(file_contents);
if (!json.has_value()) {
if (json.is_error()) {
warnln("Couldn't parse {} as JSON", path);
return 1;
}
if (!json->is_array()) {
if (!json.value().is_array()) {
warnln("{} does not contain an array of quotes", path);
return 1;
}
const auto quotes = parse_all(json->as_array());
const auto quotes = parse_all(json.value().as_array());
if (quotes.is_empty()) {
warnln("{} does not contain any valid quotes", path);
return 1;