Is there a concrete reason why we can't use Jackson or Gson for serialization and JSON.simple for everything else? While it isn't the simplest approach philosophically or with regards to dependencies (mostly licenses) it would be using the appropriate tool for each job.
— Jacob WIlder On Thu, Aug 18, 2016 at 1:01 AM, Suneel Marthi <[email protected]> wrote: > Simple JSON seems to not handle generics well enuf. I guess we need to take > a stab at this code and gradually move to Jackson and defer this Jira to a > later release. > > If it makes it easier to use Gson over Jackson, then let's go for it. > > On Thu, Aug 18, 2016 at 12:33 AM, Suneel Marthi <[email protected]> > wrote: > > > We can just stick with Simple JSON then, I agree that the move to Jackson > > is more involved and impacts large swaths of the codebase. > > > > Given this I'll go ahead and modify the JsonSerializer to use Simple JSON > > and we have one less license to deal with ☺ > > > > On Wed, Aug 17, 2016 at 9:52 PM, Walter Ray-Dulany <[email protected]> > > wrote: > > > >> 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) > >> >> > >> > > >> > > >> > > > > >
