Java 如何从片段中JSON响应中的对象获取数据
如何从Java 如何从片段中JSON响应中的对象获取数据,java,android,json,arraylist,retrofit,Java,Android,Json,Arraylist,Retrofit,如何从get方法中获取“描述”,在用Fragment或xml改造android以及改造接口和改造客户端时,完整的代码实际上我面临一些问题 我正在尝试一些时间,但我无法修复此API JSON响应 { "statuscode": 200, "status": "true", "cmsDetails": { "id": 2, "title": "Privacy Policy", "description": "<p>W
get
方法中获取“描述”,在用Fragment或xml
改造android以及改造接口和改造客户端时,完整的代码实际上我面临一些问题
我正在尝试一些时间,但我无法修复此API
JSON响应
{
"statuscode": 200,
"status": "true",
"cmsDetails": {
"id": 2,
"title": "Privacy Policy",
"description": "<p>We, Devoid Technologies Pvt. Ltd., incorporated."
}
}
{
“状态代码”:200,
“状态”:“正确”,
“CMS详细信息”:{
“id”:2,
“标题”:“隐私政策”,
“说明”:“我们,Devoid Technologies私人有限公司,注册成立。”
}
}
改装接口
@GET("retrieve/policy")
Call<CMSDetails> getDescription();
@GET(“检索/策略”)
调用getDescription();
我希望在cmsDetails对象中获取描述。为JSON响应创建一个模型,如下所示:
public class CMS
{
@SerializedName("statuscode")
private String statuscode;
@SerializedName("status")
private String status;
@SerializedName("cmsDetails")
private CmsDetails cmsDetails;
public CmsDetails getCmsDetails()
{
return cmsDetails;
}
}
EndPoints service = RetroFitCMSClient.getRetrofitInstance().create(EndPoints.class);
call = service.getDescriptionCms();
call.enqueue(new Callback<CMS>() {
@Override
public void onResponse(Call<CMS> call, Response<CMS> response) {
if(response.isSuccessful()) {
String description = response.body().getCmsDetails().getDescription();
}
}
@Override
public void onFailure(Call<CMS> call, Throwable throwable) {
}
}
现在为CMS详细信息创建另一个模型:
public class CmsDetails
{
@SerializedName("id")
private int id;
@SerializedName("title")
private String title;
@SerializedName("description")
private String description;
public String getDescription()
{
return description;
}
}
现在按如下方式创建端点:
public interface EndPoints {
@GET("retrieve/policy")
Call<CMS> getDescriptionCms();
}
现在,您可以拨打改装电话,并获得如下描述:
public class CMS
{
@SerializedName("statuscode")
private String statuscode;
@SerializedName("status")
private String status;
@SerializedName("cmsDetails")
private CmsDetails cmsDetails;
public CmsDetails getCmsDetails()
{
return cmsDetails;
}
}
EndPoints service = RetroFitCMSClient.getRetrofitInstance().create(EndPoints.class);
call = service.getDescriptionCms();
call.enqueue(new Callback<CMS>() {
@Override
public void onResponse(Call<CMS> call, Response<CMS> response) {
if(response.isSuccessful()) {
String description = response.body().getCmsDetails().getDescription();
}
}
@Override
public void onFailure(Call<CMS> call, Throwable throwable) {
}
}
EndPoints service=RefughtCmsClient.getRefughtInstance().create(EndPoints.class);
call=service.getDescriptionCms();
call.enqueue(新回调(){
@凌驾
public void onResponse(调用调用,响应响应){
if(response.issusccessful()){
字符串描述=response.body().getCmsDetails().getDescription();
}
}
@凌驾
失败时公共无效(调用、可丢弃){
}
}
“完整代码实际上我面临一些问题”什么问题?显示您的CMSDetails
,但这对片段不起作用,如何在片段内部使用plz建议我。