【发布时间】:2016-05-08 09:34:36
【问题描述】:
我正在使用新的改造 2.0 进行 http 调用, 并获得回调, 我想使用 gson 2.0 库来解析那个 json obj 并能够做到
jsonData.sector[2].sectorOne
这是我的回调:
retrofitApi.Factory.getInstance().getCallData().enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.d("myLogs", "failed to Retrive Data");
Log.d("myLogs", "becouse: "+t);
largeTextVar.setText("failed: " + t);
}
});
这就是我的回调的样子
{
"data": {
"sector": [
[
{
"scanned": false,
"sectorOne": "",
"sectorTwo": "",
"sectorThree": ""
},
{
"scanned": false,
"sectorOne": "",
"sectorTwo": "",
"sectorThree": ""
}
]
]
},
"curserLocation": {
"elevation": 30,
"horizontal": 105
}
}
我正在使用:
compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:converter-gson:2.0.1'
我到处寻找如何做到这一点,但我找不到一个简单的解决方案, 实现这一目标的最简单、最简单的方法是什么?
【问题讨论】:
-
使用 Gson 转换器进行改造不会返回 JSON,它会返回 Java 对象,因此无需像您要求的那样使用 JSON 路径
-
你如何解析那个对象? (在我的例子中说)@cricket_007
-
@cricket_007 ?你知道如何解析响应吗?类似于 response.body.string 吗?类似的东西?
-
您不需要将任何内容转换为字符串。我不知道你如何设置改造来处理事情,但也许这会有所帮助guides.codepath.com/android/Consuming-APIs-with-Retrofit
-
是的,我会调查一下,我只是想访问其中一个变量,例如 do response.body.string[2].. 等等...
标签: android json gson retrofit