fnproject / fdk-java

Java API and runtime for fn.
Apache License 2.0
142 stars 53 forks source link

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

Open zootalures opened 7 years ago

zootalures commented 7 years ago

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 commented 6 years ago

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 commented 6 years ago

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 :

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 commented 6 years ago

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