mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 09:14:58 +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:
parent
304c03f457
commit
587f9af960
54 changed files with 172 additions and 228 deletions
|
@ -70,15 +70,10 @@ static Vector<OpenFile> get_open_files_by_pid(pid_t pid)
|
|||
}
|
||||
auto data = file.value()->read_all();
|
||||
|
||||
JsonParser parser(data);
|
||||
auto result = parser.parse();
|
||||
|
||||
if (!result.has_value()) {
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
auto json = JsonValue::from_string(data).release_value_but_fixme_should_propagate_errors();
|
||||
|
||||
Vector<OpenFile> files;
|
||||
result.value().as_array().for_each([pid, &files](const JsonValue& object) {
|
||||
json.as_array().for_each([pid, &files](const JsonValue& object) {
|
||||
OpenFile open_file;
|
||||
open_file.pid = pid;
|
||||
open_file.fd = object.as_object().get("fd").to_int();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue