无法从Json

时间:2016-03-27 06:41:24

标签: java android gson

我已经查看了this threadthis thread所有试图让android工作室识别fromJson方法而没有运气。我在项目结构中有com.google.code.gson:gson:2.6.2作为gson依赖项。所以,我所尝试过的所有内容仍然不允许这行编译:

LookupRate cuRate = gson.fromJson(gson, LookupRate.class);

我尝试过以下导入,没有运气,每次只是为了某种刷新而尽最大努力清理我的项目。进口:

import java.lang.reflect.Type;
import com.google.gson.JsonObject;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.stream.JsonReader;
import com.google.gson.reflect.TypeToken;

我应该尝试别的吗?我在google's documentation中查看两个参数中的每一个应该依赖的内容。

这是gson变量的一些上下文,因为我意识到这是在深夜,当时我命名了一些这样的东西。在doInBackground()方法中,我声明了一个变量gSB,如下所示:

StringBuilder gSB = new StringBuilder();

它所分配的try语句内部如下:

connectStat = (HttpURLConnection) params[0].openConnection();
InputStream inputer = new BufferedInputStream(connectStat.getInputStream());
scanner = new Scanner(inputer);
while (scanner.hasNext()) gSB.append(scanner.nextLine());
Log.v(checkRSP, "Response(" + connectStat.getResponseCode() + "):" +
                connectStat.getResponseMessage());

trycatchfinally之后,所有异常都会得到妥善处理。变量gson的分配方式如下:

String gson = gSB.toString();

接下来是fromJson无法解决的行,但我会重复它以消除我的业余描述可能造成的任何混淆:

LookupRate cuRate = gson.fromJson(gson, LookupRate.class);

1 个答案:

答案 0 :(得分:2)

第一个参数gson无效

其中一个重载 - 我认为你试图使用 - 需要一个包含JSON内容的String

所以你的代码应该是:

//assume your JSON content is stored in variable name `myJsonStr`
LookupRate cuRate = gson.fromJson(myJsonStr, LookupRate.class);

您只需填写myJsonStr表单,无论您获取数据(网络服务,数据库,本地文件等)