Android Open Source - demo-app-android Json Object Parser






From Project

Back to project page demo-app-android.

License

The source code is released under:

MIT License

If you think the Android project demo-app-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package io.rong.imkit.demo.parser;
//w  w  w .  j  a  v  a 2s. c  o  m

import com.google.gson.JsonParseException;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.MalformedJsonException;
import com.sea_monster.core.exception.InternalException;
import com.sea_monster.core.exception.ParseException;
import com.sea_monster.core.network.StatusCallback;
import com.sea_monster.core.network.parser.IEntityParser;

import org.apache.http.HttpEntity;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.zip.GZIPInputStream;


public abstract class JsonObjectParser<T> implements IEntityParser<T> {
    public abstract T jsonParse(JsonReader reader) throws MalformedJsonException, JSONException, IOException,
            ParseException, InternalException;

    public final T parse(HttpEntity entity) throws IOException, ParseException, InternalException {
        JsonReader jReader = new JsonReader(new InputStreamReader(entity.getContent(), HTTP.UTF_8));
        try {
            return jsonParse(jReader);
        } catch (MalformedJsonException e) {
            throw new ParseException(e);
        } catch (JSONException e) {
            throw new ParseException(e);
        } catch (IllegalStateException e) {
            throw new ParseException(e);
        } finally {
            entity.consumeContent();
        }

    }

    public final T parse(InputStream inputStream) throws IOException, ParseException, InternalException {
        JsonReader jReader = new JsonReader(new InputStreamReader(inputStream, HTTP.UTF_8));

        try {
            return jsonParse(jReader);
        } catch (MalformedJsonException e) {
            throw new ParseException(e);
        } catch (JSONException e) {
            throw new ParseException(e);
        } catch (IllegalStateException e) {
            throw new ParseException(e);
        } catch (JsonParseException e) {
            e.printStackTrace();
            throw new ParseException(e);
        } finally {
            inputStream.close();
        }

    }

    public final T parse(HttpEntity entity, StatusCallback<?> callback) throws IOException, ParseException,
            InternalException {
        return this.parse(entity);
    }

    @Override
    public final T parseGzip(HttpEntity entity) throws IOException, ParseException, InternalException {
        JsonReader jReader = new JsonReader(new InputStreamReader(new GZIPInputStream(entity.getContent()), HTTP.UTF_8));
        try {
            return jsonParse(jReader);
        } catch (JSONException e) {
            throw new ParseException(e);
        } finally {
            entity.consumeContent();
        }
    }

    @Override
    public final T parseGzip(HttpEntity entity, StatusCallback<?> callback) throws IOException, ParseException,
            InternalException {
        // TODO Auto-generated method stub
        return parseGzip(entity);
    }

}




Java Source Code List

io.rong.imkit.demo.BaseActivity.java
io.rong.imkit.demo.BaseApiActivity.java
io.rong.imkit.demo.BlackListActivity.java
io.rong.imkit.demo.BlackListAdapter.java
io.rong.imkit.demo.DefaultExceptionHandler.java
io.rong.imkit.demo.DemoActivity.java
io.rong.imkit.demo.DemoApplication.java
io.rong.imkit.demo.DemoContext.java
io.rong.imkit.demo.FunctionListAdapter.java
io.rong.imkit.demo.GroupListActivity.java
io.rong.imkit.demo.GroupListAdapter.java
io.rong.imkit.demo.LocationActivity.java
io.rong.imkit.demo.LoginActivity.java
io.rong.imkit.demo.MainActivity.java
io.rong.imkit.demo.ParcelUtils.java
io.rong.imkit.demo.RegisterActivity.java
io.rong.imkit.demo.TestFragment2Activity.java
io.rong.imkit.demo.TestFragmentActivity.java
io.rong.imkit.demo.UserInfoActivity.java
io.rong.imkit.demo.common.DemoApi.java
io.rong.imkit.demo.model.CustomerService.java
io.rong.imkit.demo.model.Status.java
io.rong.imkit.demo.model.User.java
io.rong.imkit.demo.parser.GsonArrayParser.java
io.rong.imkit.demo.parser.GsonParser.java
io.rong.imkit.demo.parser.JsonObjectParser.java
io.rong.imkit.demo.parser.RegisterParser.java
io.rong.imkit.demo.ui.BaseFrameLayout.java
io.rong.imkit.demo.ui.LoadingDialog.java
io.rong.imkit.demo.ui.WinToast.java