I tried converting a large number of TH1 derivatives into JSON using
ROOT.TBufferJSON.ConvertToJSON(x) (from Python) and found that the resulting JSON is mal-formed.
This is due to NaN and Infinitiy values in the TH1s, especially +/-Inf is common in TProfile axis bounds. TBufferJSON represents them as “nan”/“inf”/"-inf" (without the quotes), which it seems even JSROOT is unable to understand .
Though some parsers are picky and will not allow any such values (looking esp. at databases, like the SQLite JSON extension  or Postgres JSONB ), so providing a “pure” output mode that removes Infs and NaNs (at the risk of losing information) might be worth considering as well.
What is your opinion on these things? Can we get this fixed on ROOT’s side?
... 0, 0, 0, 0, 0], "fErrorMode" : 0, "fZmin" : -inf, "fZmax" : inf, "fTsumwz" : 12337.6925694346, "fTsumwz2" : 13893.578925121, "fBinSumw2" :  }
 https://goo.gl/6LRsTU (CMS DQM GUI, needs certificate, might not work for non-CMS members)
 http://json.org/ ,
<link to rfc7159.txt>
(sorry, not allowed to put links)
ROOT Version: 6.12/07 (provided by CMSSW)