If I understand you right, you "just" want to make "usage of json feature" easy for end-users. So do I. If there is more, please add.
What if we do the following? 1) We keep "base" part of driver "unaware" of json. In other words, calls like getObject(1, JsonValue.class) would end up in "@throws SQLException if conversion is not supported" (as per ResultSet's javadoc) 2) Add "pgjdbc-json" module (i.e. jar) that adds support for getObject(1, JsonValue.class), setObject(1, JsonValue) kind of calls. 3) Document "best choice of json dependencies" right in the readme. I think we would be fine even with simple "we tested just jackson and it works with pgjdbc".
From the end-user perspective it will be: 1) Using driver as usual -- "just add one mvn dependency" -- 'org.postgresql:postgresql:9.4-1201-jdbc41' 2) Adding json support -- add additional one -- 'org.postgresql:postgresql-json:9.4-1201-jdbc41' and 'best-of-the-best-pgjdbc-approved-json-impl:3.14.15'.
Both items would be available on the top of readme as copy&paste ready snippets.
adding support with maven is the least problematic solution; Not everyone uses maven unfortunately.
It would appear we will need more than one jar
This covers "json support" and it is user-friendly: no additional googling is required to use the feature. Am I missing anything? Vladimir