我试图解析一个简单的json(下面提到),并将值设置为TextViews。我正在使用改型和GSON转换器。但是当将值设置为textviw时,它将返回null。我已经将值解析到RecycerView,这非常容易。但在简单的回答中,我可能犯了一些小错误,但却找不到。
我们将不胜感激。
public interface ItemDescriptionInterface {
@GET("getProductDetailByProductId?ProductId=3")
Call<JsonObject> ITEM_DESCRIPTION_RESPONSE_CALL();
}
Retrofit retrofit2 = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
ItemDescriptionInterface apiService = retrofit2.create(ItemDescriptionInterface.class);
Call<JsonObject> jsonCall = apiService.ITEM_DESCRIPTION_RESPONSE_CALL();
jsonCall.enqueue(new Callback<JsonObject>() {
@Override
public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
String jsonString = response.body().toString();
Gson gson = new Gson();
ItemDescriptionModel model = gson.fromJson(jsonString, ItemDescriptionModel.class);
price.setText(model.getResult().getActualPrice());//Here its not getting
}
@Override
public void onFailure(Call<JsonObject> call, Throwable t) {
String msg = (t.getMessage() == null) ? "Login failed!" : t.getMessage();
Log.d("descriptionofproduct", msg);
}
});
{
"status": "Success",
"response_code": 200,
"result": [
{
"PId": "3",
"ProductId": "3",
"VendorId": "admin",
"ProductName": "Golden Green",
"ProductAlias": "golden-green-full-rim-",
"MarketPrice": "500",
"ActualPrice": "450",
"PurchasePrice": "450",
"Style": "3",
"DefaultImage_url": "http:\/\/lensclone.tk\/test\.png"
}
]
}
public class ItemDescriptionModel {
@SerializedName("ActualPrice")
private String price;
@SerializedName("ProductDetails")
private String productDetails;
@SerializedName("DefaultImage_url")
private String imgurl;
@SerializedName("ProductName")
private String ProductName;
public ItemDescriptionModel(String price, String productDetails, String imgurl, String productName) {
this.price = price;
this.productDetails = productDetails;
this.imgurl = imgurl;
ProductName = productName;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getProductDetails() {
return productDetails;
}
public void setProductDetails(String productDetails) {
this.productDetails = productDetails;
}
public String getImgurl() {
return imgurl;
}
public void setImgurl(String imgurl) {
this.imgurl = imgurl;
}
public String getProductName() {
return ProductName;
}
public void setProductName(String productName) {
ProductName = productName;
}
如果我遗漏了什么,请告诉我。
改变这些东西。
public interface ItemDescriptionInterface {
@GET("getProductDetailByProductId?ProductId=3")
Call<ItemDescriptionModel> ITEM_DESCRIPTION_RESPONSE_CALL();
}
Call<ItemDescriptionModel> itemDescriptionModelCall= apiService.ITEM_DESCRIPTION_RESPONSE_CALL();
itemDescriptionModelCall.enqueue(new Callback<ItemDescriptionModel>() {
@Override
public void onResponse(Call<ItemDescriptionModel> call, retrofit2.Response<ItemDescriptionModel> response) {
if (response!=null && response.isSuccessful() && response.body()!=null){
String prince=response.body().getPrice();
}
}
@Override
public void onFailure(Call<ItemDescriptionModel> call, Throwable t) {
}
});
我正在使用Spring的“Spring test mvc”库来测试web控制器。我有一个非常简单的控制器,它返回一个JSON数组。那么在我的测试中我有: 上述测试返回: 为了快速检查我实际得到了什么,我运行了以下测试: 并在 我不确定为什么无法在JSON数组中看到。
问题内容: 我得到了以下简单代码: 并且在命中时为null (引发null指针异常)。 我的问题是,即使我将其设置为在每个ip的.s上进行拆分,为什么ipArray仍为null? 问题答案: 使用,您的问题将得到解决。问题是String#split接收到一个正则表达式,点(。)符号在正则表达式中是一个特殊字符,因此您需要对其进行转义以将其解释为纯点,并且反斜杠也是转义字符在Java中,您也必须对其
我是Android开发的新手,当然还有碎片。 我想访问main activity中我的片段的控件,但是'find viewbyid'返回null。如果没有片断,代码可以正常工作。
首先,如果我对Rxjava的理解有错,请告诉我。 既然我们已经使用API查询使用referfit过滤了数据,那么对已经获得的数据进行操作有什么需要 为什么在RXJava中使用客户接口对象?因此,我们将其用于观察者或onNext()的位置。 Rxjava是否也有助于检索目的,或者它只是对已经获得的数据进行操作?
这些天来我一直在读关于OWL本体和RDF文件的文章。我还是不能理解这一点。 假设我使用Protege创建了一个简单的本体。它有一个称为Review的类,具有两个数据属性,即comment和rating。 后面的行返回NULL。 这里面有什么问题?