fn read_json(path: &Path) -> Option<Value>Expand description
Read and parse a JSON file. All three outcomes return None, so the
caller cannot tell them apart from the value; the warn carries the
difference: a missing file is the expected fresh-install case and
stays silent, while an unreadable or unparseable one warns with the
reason.