gpt4 book ai didi

android - 改造。安卓。我可以在不解析的情况下将 json 对象下载到 String 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:15 26 4
gpt4 key购买 nike

我可以在 Android 设备上不使用 Retrofit 解析而将 json 对象下载为字符串吗?

当我尝试直接接近时

@GET("/api.php?action=bundle")
public void getWholeScheduleString(Callback<String> response);

我得到了错误:

"com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
Expected a string but was BEGIN_OBJECT at line 1 column 2 path $"

最佳答案

发生这种情况是因为响应是一个 JSON 对象而不是字符串。您可以执行以下操作:首先更改getter方法:

@GET("/api.php?action=bundle")
public void getWholeScheduleString(Callback<JsonObject> response);

然后在回调的 success(JsonObject json, Response res) 方法中,您只需将其映射到一个字符串:

@Override
public void success(JsonObject response, Response arg1) {
String myResponse = response.getAsString();
}

编辑:顺便说一句,您可以参数化查询部分 (?action=bundle) 以使该方法更通用,如下所示:

@GET("/api.php")
public void getWhateverAction(@Query("action") String action, Callback<JsonObject> response);

无论何时调用该方法,您都将“action”作为字符串参数传递。

关于android - 改造。安卓。我可以在不解析的情况下将 json 对象下载到 String 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28645822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com