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)
>>
>
>

Reply via email to