diff --git a/vndk/tools/header-checker/src/repr/json/ir_dumper.cpp b/vndk/tools/header-checker/src/repr/json/ir_dumper.cpp index 8091a3ee3..328b9a2e1 100644 --- a/vndk/tools/header-checker/src/repr/json/ir_dumper.cpp +++ b/vndk/tools/header-checker/src/repr/json/ir_dumper.cpp @@ -362,10 +362,9 @@ bool JsonIRDumper::AddElfSymbolMessageIR(const ElfSymbolIR *elf_symbol_ir) { } static std::string DumpJson(const JsonObject &obj) { - std::ostringstream output_stream; - Json::StyledStreamWriter writer(/* indentation */ " "); - writer.write(output_stream, obj); - return output_stream.str(); + Json::StreamWriterBuilder factory; + factory["indentation"] = " "; + return Json::writeString(factory, obj); } static void WriteTailTrimmedLinesToFile(const std::string &path, diff --git a/vndk/tools/header-checker/src/repr/json/ir_reader.cpp b/vndk/tools/header-checker/src/repr/json/ir_reader.cpp index db1928201..1df235907 100644 --- a/vndk/tools/header-checker/src/repr/json/ir_reader.cpp +++ b/vndk/tools/header-checker/src/repr/json/ir_reader.cpp @@ -154,12 +154,13 @@ GetElfSymbolBinding(const JsonObjectRef &elf_symbol) { bool JsonIRReader::ReadDumpImpl(const std::string &dump_file) { Json::Value tu_json; - Json::Reader reader; + Json::CharReaderBuilder builder; + builder["collectComments"] = false; std::ifstream input(dump_file); - if (!reader.parse(input, tu_json, /* collectComments */ false)) { - llvm::errs() << "Failed to parse JSON: " - << reader.getFormattedErrorMessages() << "\n"; + std::string errorMessage; + if (!Json::parseFromStream(builder, input, &tu_json, &errorMessage)) { + llvm::errs() << "Failed to parse JSON: " << errorMessage << "\n"; return false; } bool ok = true;