我正在使用条件 -
if (!obj2.getString("patronCheckoutInfo").equals("null")) {
但是当数组得到值时,它不起作用。
例如:Case1-当json获得“patronCheckoutInfo”的值时:
{
"ErrorMessage": ""
"Message": "Operation completed successfully"
"Status": "OK"
"Results": {
"LookupPatronInfoResponse": {
"patronAddressInfo": null
"patronCheckoutHistoryInfo": null
"patronCheckoutInfo": [6]
0: {
"author": "Cobb, Kevin."
案例2 - 没有价值时:
{
"ErrorMessage": ""
"Message": "Operation completed successfully"
"Status": "OK"
"Results": {
"LookupPatronInfoResponse": {
"patronAddressInfo": null
"patronCheckoutHistoryInfo": null
"patronCheckoutInfo": null
"patronCirculationInfo": null
尝试了一些教程,但无法弄清楚。任何建议都是受欢迎的。提前谢谢。
答案 0 :(得分:3)
您可以使用支持功能isNull
(http://developer.android.com/reference/org/json/JSONObject.html#isNull(java.lang.String))
因此,在这种情况下重新编写代码:
if (!obj2.isNull("patronCheckoutInfo")) {
// do something
}
答案 1 :(得分:2)
是的,您可以检查Json中是否存在特定的密钥。
它非常简单.. !! 试试这个..
boolean response = jsonobject.has("patronCheckoutInfo")
希望这会对你有所帮助, 快乐的编码
答案 2 :(得分:2)
试试这个:
if(obj2.has("patronCheckoutInfo")){
//write your code
}
答案 3 :(得分:0)
尝试
if (!obj2.getString("patronCheckoutInfo").equals("null"))
到
String patronCheckoutInfo = obj2.getString("patronCheckoutInfo");
if(!TextUtils.isEmpty(patronCheckoutInfo)){
// string has value
}else{
// string is empty
}
答案 4 :(得分:0)
感谢大家的建议。以下对我有用:
if (obj2.getString("patronCheckoutInfo") != null)
答案 5 :(得分:0)
您可以尝试这样:
JSONArray patronCheckoutInfo= obj2.optJSONArray("patronCheckoutInfo");
if(patronCheckoutInfo){
for (int i = 0; i < invitations.length(); i++) {
JSONObject patronCheckoutInfoObject= patronCheckoutInfo.getJSONObject(i);
}
}