From 30dbcebfc5e18b89c4cb5130d5aa004a70e7d828 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Fri, 31 May 2013 09:42:10 -0700 Subject: JSONArrayParser --- .../koushikdutta/async/parser/JSONArrayParser.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java (limited to 'AndroidAsync/src/com/koushikdutta/async/parser') diff --git a/AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java b/AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java new file mode 100644 index 0000000..03aaea6 --- /dev/null +++ b/AndroidAsync/src/com/koushikdutta/async/parser/JSONArrayParser.java @@ -0,0 +1,31 @@ +package com.koushikdutta.async.parser; + +import com.koushikdutta.async.DataEmitter; +import com.koushikdutta.async.DataSink; +import com.koushikdutta.async.callback.CompletedCallback; +import com.koushikdutta.async.future.Future; +import com.koushikdutta.async.future.TransformFuture; + +import org.json.JSONArray; +import org.json.JSONObject; + +/** + * Created by koush on 5/27/13. + */ +public class JSONArrayParser implements AsyncParser { + @Override + public Future parse(DataEmitter emitter) { + return new TransformFuture() { + @Override + protected void transform(String result) throws Exception { + setComplete(new JSONArray(result)); + } + } + .from(new StringParser().parse(emitter)); + } + + @Override + public void write(DataSink sink, JSONArray value, CompletedCallback completed) { + new StringParser().write(sink, value.toString(), completed); + } +} -- cgit v1.2.3