我从服务中获得了json
如下:
[
{
"commentID": 21,
"commentAuthor": "AAA",
"commentText": "BBB",
"commentDate": 1484824835,
"productName": "XXXXX",
"productUrl": "xxx.html",
"productPictureUrl": "yyy.jpg"
} ,
{
"commentID": 21,
"commentAuthor": "AAA",
"commentText": "BBB",
"commentDate": 1484824835,
"productName": "XXXXX",
"productUrl": "xxx.html",
"productPictureUrl": "yyy.jpg"
}
]
我通过json
和retrofit
获得Gson
以上。
Problem
:如果json
为空,如下所示我可以验证它吗?
[{}]
我得json
的值Gson
如下:
RetrofitApi.getVendorAdminApi()
.getComments(userToken, pageNumber)
.enqueue(new Callback<List<Comment>>() {
@Override
public void onResponse(Call<List<Comment>> call, Response<List<Comment>> response) {
if (response.isSuccessful()) {
resultListener.onSuccess(response.body());
} else {
resultListener.onFailure();
}
}
@Override
public void onFailure(Call<List<Comment>> call, Throwable t) {
resultListener.onFailure();
t.printStackTrace();
}
});
答案 0 :(得分:0)
[{}] //错误
从服务器整理您的响应。这将是
[] //完美
你应该检查 Json数组 SIZE
if (JsonOBJ.size()==0)
{
Toast.makeText(this, "Json Is Empty", Toast.LENGTH_LONG).show();
}
修改强>
if (JsonOBJ.entrySet().size()==0)
{
Toast.makeText(this, "Json Is Empty", Toast.LENGTH_LONG).show();
}
答案 1 :(得分:0)
默认情况下,我认为Gson omits null fields。
因此,{}
与
{
"commentID": null,
"commentAuthor": null,
"commentText": null,
"commentDate": null,
"productName": null,
"productUrl": null,
"productPictureUrl": null
}
如果您定义了new Comment()
,并将其与response.body().get(0)
进行了比较,则应该相同。
注意:这要求您在equals()
hashcode()
和Comment.java
方法