<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Sounds like a plan - I’d say lets go ahead - unless anyone has any questions/objections.<div class=""><br class=""></div><div class="">I’m wondering if the same mechanism you used to have it understand UUID would work with our other objects (attributes, models, etc..)?  We would still need to have the ability to deal with different versions when storing the JSON info in files.</div><div class=""><br class=""></div><div class=""><div class=""><br class=""></div><div class="">Bob</div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Robert M. O'Bara, MEng.<br class="">Assistant Director of Scientific Computing<br class=""><br class="">Kitware Inc.<br class="">28 Corporate Drive<br class="">Suite 101<br class="">Clifton Park, NY 12065<br class=""><br class="">Phone: (518) 881- 4931</div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Sep 14, 2017, at 10:52 AMEDT, David Thompson <<a href="mailto:david.thompson@kitware.com" class="">david.thompson@kitware.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""></div><div class="">I think since it is header-only that we would not need to mangle it, but rather install it inside the smtk include tree (e.g., include/smtk/thirdparty/nlohmann_json) so that others can use exactly the version SMTK is compiled with. We can define a macro (yes!) for nlohmann's include path so that it is possible to use an external version or third party version:</div><div class=""><br class=""></div><div class="">#include "smtk/Options.h"</div><div class="">#include SMTK_NLOHMANN_JSON_H</div><div class=""><br class=""></div><div class="">    David</div><div class=""><br class="">On Sep 14, 2017, at 10:44, Bob Obara <<a href="mailto:bob.obara@kitware.com" class="">bob.obara@kitware.com</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class="">I definitely like the nlohmann version better - did we determine if we need to mangle it?  <div class=""><br class=""></div><div class="">So should it and pugiXML be moved into the superbuild in the near future as external projects?</div><div class=""><br class=""></div><div class="">Bob</div><div class=""><br class=""><div class=""><span style="orphans: 2; text-align: -webkit-auto; widows: 2;" class=""><br class=""></span></div><div class=""><span style="orphans: 2; text-align: -webkit-auto; widows: 2;" class="">Robert M. O'Bara, MEng.</span><div class=""><div style="font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-position: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Assistant Director of Scientific Computing<br class=""><br class="">Kitware Inc.<br class="">28 Corporate Drive<br class="">Suite 101<br class="">Clifton Park, NY 12065<br class=""><br class="">Phone: (518) 881- 4931</div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""><div class=""><blockquote type="cite" class=""><div class="">On Sep 13, 2017, at 5:37 PMEDT, David Thompson <<a href="mailto:david.thompson@kitware.com" class="">david.thompson@kitware.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi all,<br class=""><br class="">I've looked a little more into jsoncpp and nlohmann_json. Attached is my experiment with syntax and getting UUIDs and arrays of UUIDs serialized. nlohmann does not require calls to converter functions nor does it even require a converter... UUIDs just worked (however, we probably want a converter as its default behavior writes UUIDs as JSON arrays of unsigned integers).<br class=""><br class="">I continue to like nlohmann and dislike jsoncpp in terms of terseness and legibility of the resulting code. The one thing I dislike about nlohmann is that the repo seems to contain super-huge test files, making it slow to clone.<br class=""><br class="">Attached are example programs for each library that do the same thing (create JSON data including UUIDs). I have not tried parsing/dumping large objects.<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">      </span>David<br class=""><br class=""><br class=""><span id="cid:C08336A6-5EC2-4137-A093-B373CA5683FC@kitware.com" class=""><json.tar.gz></span></div></div></blockquote></div><br class=""></div></div></div></blockquote></div></div></blockquote></div><br class=""></div></div></body></html>