fdk-java icon indicating copy to clipboard operation
fdk-java copied to clipboard

Support JSON-B json binding as an alternative to Jackson

Open zootalures opened this issue 8 years ago • 3 comments

I want to be able to use JSON-B as an alternative to Jackson for JSON marshalling

Is one or other included by default? Can i switch between marshalling by adding a module to my function?

zootalures avatar Nov 03 '17 13:11 zootalures

I think JSON-B API is a better choice to remove thirdparty library dependencies from core, to be honest Jackson Databind adds to much overhead that isn't needed. I think it will remove at least 1mb of JARs compared to Yasson (JSON-B RI).

panga avatar Jun 23 '18 17:06 panga

We designed for this case (JSON-B was released around the same time originally wrote the FDK ) - input/output corecions should support being moved to modules - we chose Jackson initially because it was more widely supported and understood - the way to do this is to :

  • Move the Jackson code into a module (e.g. fdk-java-jackson)
  • Add a new module for JSON-B to the FDK
  • (optionally) refactor flow client to juse JSON-B vs Jackson

We are also working on cloudevents/JSON codec #134 support - that would mean chosing one or other as the basis for reading incoming event data there.

Pull requests welcome here!

zootalures avatar Jun 23 '18 17:06 zootalures

@zootalures Indeed, that makes sense. I've created #142 about modules.

I'll contribute with PR's soon.

I think need #134 and #72 merged to start something on this area without too much conflicts.

Thanks!

panga avatar Jun 23 '18 18:06 panga