<div dir="ltr">lib/Support/JSON.cpp has been written because the community did not want to add an external dependency or copy a 3rd party JSON library. See 

<a href="http://lists.llvm.org/pipermail/llvm-dev/2017-October/118583.html">http://lists.llvm.org/pipermail/llvm-dev/2017-October/118583.html</a> for th discussion. Since JSON.cpp now is integrated in the codebase, there now is even less reason to switch to a 3rd party implementation.<div><div><br></div><div>Michael <br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Di., 18. Aug. 2020 um 22:31 Uhr schrieb Filippo Costa via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
I'm a new contributor. I'm considering the possibility of adopting a third-party JSON library instead of LLVM's homegrown `lib/Support/JSON.cpp`. The way I see it, this would bring several advantages as well as some downsides:<br>
<br>
 + Slimmer codebase.<br>
 + Benefit from upstream work and active contributions to another project.<br>
 + Possibly improved performance and API ergonomics.<br>
 - Likely compile times regression as many JSON libs are header-only.<br>
 - Risk of introducing bugs and breakages across LLVM.<br>
<br>
As far as I can tell, these are the most popular C++ JSON libs:<br>
<br>
 * <a href="https://github.com/nlohmann/json" rel="noreferrer" target="_blank">https://github.com/nlohmann/json</a><br>
 * <a href="https://github.com/open-source-parsers/jsoncpp" rel="noreferrer" target="_blank">https://github.com/open-source-parsers/jsoncpp</a><br>
 * <a href="https://github.com/Tencent/rapidjson" rel="noreferrer" target="_blank">https://github.com/Tencent/rapidjson</a><br>
<br>
I'm trying to understand if this is something I should work on and whether or not it would benefit the project.<br>
<br>
Filippo Costa<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>