After working on this for a while now, I'm having second thoughts about the move to Jackson. Here are my concerns; I'd like to know the thoughts of the community on this.
1. Jackson has a very different paradigm for how to approach the serialization/deserialization process than does our current main JSON workhorse, json.simple. Practically, this means that moving from simple to Jackson involves writing a *lot* more code to handle straightforward operations that simple just deals with 2. The fact that Jackson objects implement a *very* different response for the toString method than json.simple objects makes finishing this PR request an exercise in Zeno's paradox: every time I've got the PIRK-13 code I'm working on passing all the tests I can accomplish (hadoop and standalone), a merge of upstream/master results in a silent merge acceptance of a handful of changes that break everything and have to be tracked down again; by the time of their resolution, I must perform another merge, and fix a few more bugs... 3. It isn't clear to me that the fact that json.simple is no longer publishing artifacts is a sufficient reason to discard it. I haven't looked at the code (https://github.com/fangyidong/json-simple), but it seems entirely possible that the project hit every feature they intended, got the code base correct, and stopped. If they didn't, the source is available to contribute fixes to. 4. I'll include this benchmark, http://blog.takipi.com/the-ultimate-json-library-json-simple-vs-gson-vs-jackson-vs-json/, which says "simple comes in a close second on both large and small files, whereas jackson is much worse at small files", but! I feel compelled to point out that reading the comments, and a quick scan of the first n hit on google, make me think that the tests run there aren't what you'd call "definitive", or even, perhaps, "accurate", but if you're willing to overlook these minor flaws ;) it bolsters my position that json.simple is probably good enough especially in light of 1. and 2. above. Thoughts? Walter On Mon, Aug 8, 2016 at 4:28 PM, Walter Ray-Dulany <[email protected]> wrote: > Yes, sorry for the delay. My eyes started wandering over some of jackson's > bigger features after I had started JsonNode-ing stuff a while ago. I'll > refocus and put 13 to rest before morning Eastern time Tuesday. > > On Mon, Aug 8, 2016 at 1:53 PM, Ellison Anne Williams (JIRA) < > [email protected]> wrote: > >> >> [ https://issues.apache.org/jira/browse/PIRK-13?page=com.atlas >> sian.jira.plugin.system.issuetabpanels:comment-tabpanel& >> focusedCommentId=15412160#comment-15412160 ] >> >> Ellison Anne Williams commented on PIRK-13: >> ------------------------------------------- >> >> It looks like it will be best to upgrade to Jackson via changing the >> current use of JSONObject to Jackson's JsonNode (and, of course, changing >> the other read/write methods as appropriate). >> >> Walter - Are you still working this? If not, I will pick it up. >> >> > Switch from json-simple to Jackson >> > ---------------------------------- >> > >> > Key: PIRK-13 >> > URL: https://issues.apache.org/jira/browse/PIRK-13 >> > Project: PIRK >> > Issue Type: Improvement >> > Reporter: Chris Harris >> > Assignee: Walter Ray-Dulany >> > >> >> >> >> >> -- >> This message was sent by Atlassian JIRA >> (v6.3.4#6332) >> > >
