绪
最近在Scala的项目中尝试使用Gson来做json的数据解析;Scala自带和Jackson使用都太过繁琐;
使用Gson在scala代码如下;唯一的就是需要解析完后需要调用getAsXXX;嵌套对象需要重复执行这个方法;JsonParser在2.8.6里面new方法放弃了。推荐用静态方法;2.8.5里面,还是通过new来实例化JsonParser;
val json = JsonParser.parseString(s)
val obj = json.getAsJsonObject
println(obj.get("@timestamp"))
但是在项目中,碰到一个错误。NoSuchMethodError。不知道如何下手了;本地跑可以,到集群就崩;错误如下:
java.lang.NoSuchMethodError: com.google.gson.JsonParser.parseString(Ljava/lang/String;)Lcom/google/gson/JsonElement #1077
解决方法
换个低版本的2.8.5;正常不报错了、
val jsonParser = new JsonParser()
val jsonObj = jsonParser.parse(line).getAsJsonObject
来源:oschina
链接:https://my.oschina.net/xiaopei/blog/4496913