chore(result-handling): handle JsonNode objects instead of java maps

- avoids explicit casting of json properties to java types