Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support JSON-B json binding as an alternative to Jackson #98

Open
zootalures opened this issue Nov 3, 2017 · 3 comments
Open

Support JSON-B json binding as an alternative to Jackson #98

zootalures opened this issue Nov 3, 2017 · 3 comments

Comments

@zootalures
Copy link
Member

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?

@panga
Copy link

panga commented Jun 23, 2018

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

@zootalures
Copy link
Member Author

zootalures commented Jun 23, 2018

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!

@panga
Copy link

panga commented Jun 23, 2018

@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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants