我向API发送请求并使用GSON将其转换为对象。GSON将字符串值转换为空
然后我通过一个Bundle
传递它并将其作为JSON
String
传递。
的问题是,之前我通过它通过捆绑的价值看起来不错,但是当我收到包在接下来的活动值则Null
什么,似乎这里是什么问题?我在猜测GSON
在分析信息时遇到了一些问题。
这是我看到的字符串键之前我运行它通过捆绑。
这是我看到后,我通过它通过捆绑
我用下面的代码通过捆绑来传递:
Bundle bundle = new Bundle();
Gson gson = new Gson();
bundle.putString("my_model", gson.toJson(searchResult, ModelClass.class));
i.putExtras(bundle);
startActivity(i);
这是我使用的JSON
转换回对象的代码:
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
String myModelJSON = bundle.getString("my_model");
Gson gson = new Gson();
mMyModel = gson.fromJson(myModelJSON, MyModel.class);=
}
通知空末
我应该如何去修复呢?如果什么都不能解决,我正在考虑使用Parcelable
。
EDIT:使用其余客户端应用程序
响应形式API:
“IMAGE_PATH”:“/上传/图像/ image02-%7B%7BSIZE%7D%7D-290x116。 jpg“
尝试在你的包中加入一个测试变量,如名称“test”,值“abc”。确保你在另一端获得它。另外,请检查myModelJsonString以确保它包含您的期望。 myModel还有哪些其他方法可用?尝试访问他们,看看你得到什么。 –
我已经试过这个,它工作正常。其他方法很好,比如'getName();' – AndyRoid
啊,我之前看到的只是“null”。也许它是由“%”符号引起的某种编码问题?什么是字符串键?它是你编码的对象的一部分吗?或者是Gson API的一部分?我不认为这是访问捆绑包中字符串的关键,它是“my_model”... –