cro*_*ies 39 scala gson playframework
跑步!使用Scala的应用程序.我正在做一个请求,其中响应应该是一个JSON字符串.检查调试器时,JsonElement将返回OK,其中包含所有预期的信息.但问题是当我尝试在JsonElement上实际运行方法时.
val json = WS.url("http://maps.googleapis.com/maps/api/geocode/json?callback=?&sensor=true&address=%s", startAddress+","+startCity+","+startProvince).get.getJson
val geocoder = json.getAsString
Run Code Online (Sandbox Code Playgroud)
我回来的唯一错误是Unsupported Operation Exception: null
,我已经在尝试这样做getAsString
,并getAsJsonObject
与getAsJsonPrimitive
知道为什么它在所有方法上都失败了吗?谢谢.
and*_*lla 51
也许是你JsonElement
的JsonNull
你可以做的是首先检查它是不是通过使用 json.isJsonNull
否则,尝试获取其String表示 json.toString
小智 49
我有类似的问题,我不得不将jsonObject.getAsString()更改为jsonObject.toString();
在我的情况下,我只需要将元素作为空字符串,如果它是null,所以我写了一个这样的函数:
private String getNullAsEmptyString(JsonElement jsonElement) {
return jsonElement.isJsonNull() ? "" : jsonElement.getAsString();
}
Run Code Online (Sandbox Code Playgroud)
而不是
val geocoder = json.getAsString
Run Code Online (Sandbox Code Playgroud)
你可以使用它
val geocoder = getNullAsEmptyString(json);
Run Code Online (Sandbox Code Playgroud)
如果元素为null,则返回"",如果不为则返回实际字符串
归档时间: |
|
查看次数: |
33051 次 |
最近记录: |