org.json.JSONObject的optXXX方法

来源:互联网 发布:直播源码下载 编辑:程序博客网 时间:2024/05/24 03:07

JSONObject有很多optXXX方法,比如optBoolean, optString, optInt...

他们的意思是,如果这个jsonObject有这个属性,则返回这个属性,否则返回一个默认值

 

例如

[java] view plaincopyprint?
  1. JSONObject json = new JSONObject(content);  
  2. int x = json.optInt("length"0);  
 

表示如果json有length属性,则返回length的整数值,否则返回0。

其他的optXXX方法都类似。



以上转载;

另:AsyncHttpClient.post和AsyncHttpClient.get中的第三个handler可以设置为 com.loopj.android.http.JsonHttpResponseHandler,

其中接口消息处理抽象如下:

public abstract class BaseJsonResponseHandler extends JsonHttpResponseHandler {
public static final int CODE_TIME_OUT = 10000;

@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
super.onSuccess(statusCode, headers, response);
int status = response.optInt(Constants.ApiStatus.STATUS);
if (status == Constants.ApiStatus.API_STATUS_OK) {
onComplete(response.optString("data"));
} else {
onError(status, response.optString("msg"));
}
}


@Override
public void onFailure(int statusCode, Header[] headers,
String responseString, Throwable throwable) {
super.onFailure(statusCode, headers, responseString, throwable);
}

/**
* 超时,无网处理
*/
@Override
public void onFailure(int statusCode, Header[] headers,
Throwable throwable, JSONObject errorResponse) {
super.onFailure(statusCode, headers, throwable, errorResponse);
onFailure();
}

@Override
public void onCancel() {
super.onCancel();
onFailure();
}


protected abstract void onComplete(String data);


protected abstract void onError(int code, String error);

protected abstract void onFailure();


}

0 0
原创粉丝点击