Handling unknown JSON structures

JSON object mapping, marshalling, call it whatever you want, we have you covered with Gson or Jackson. Unless you don’t care about structure and want to be able to parse random JSON strings. Oops, THERE come clumsiness.

I’m sure you could

    final JsonObject json = new JsonParser().parse(yourstring).getAsJsonObject();
    final Integer start = json.has("start") ? json.get("start").getAsInt() : 0;

(made possible with Google Gson) but why not go simpler and just

    final JsonObject json = new JsonObject(yourstring);
    final Integer start = json.getInteger("start", 0);

Nice, right? And the same with arrays, just json.getJsonArray("list") with or without providing defaults… Too bad it’s just part of the core Vert.x package and not a separate library you could use in any project… so if you have any vertx.core dependencies lying around, for example when using Quarkus Lambda HTTP, or don’t mind an extra 1M in size, make sure you give it a try. Cleaner simply doesn’t exist in the Java world, at least as far as I know.

Ah yes, and it’s a I-JSON implementation (RFC 7493, Internet JSON) so maybe some fancy number formats won’t be able to fit, but I never hit that wall.

(Published as part of the #100DaysToOffload challenge https://100daystooffload.com/)

原文链接:Handling unknown JSON structures

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容