package net.basilwang.fresh; import java.util.ArrayList; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import android.os.AsyncTask; import android.util.Log; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; public class RequestStructureJson extends AsyncTask<Object, Object, ArrayList<PointOfStructure>> { private PointOfStructureService service; int mapId; @Override protected void onPostExecute(ArrayList<PointOfStructure> result) { for (int i = 0; i < result.size(); i++) { result.get(i).setMapId(mapId); service.save(result.get(i)); } super.onPostExecute(result); } @Override protected ArrayList<PointOfStructure> doInBackground(Object... params) { ArrayList<PointOfStructure> list1 = new ArrayList<PointOfStructure>(); String result; String url = (String) params[0]; service = (PointOfStructureService) params[1]; mapId = (Integer) params[2]; HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); try { HttpResponse response = client.execute(get); if (response.getStatusLine().getStatusCode() == 200) { String s = (EntityUtils.toString(response.getEntity())); String s1 = s.replace("\\", ""); String s2 = s1.substring(1, s1.length() - 1); String s3 = s2.replace(" ", ""); result = s3.replace("rn", ""); Log.v("result", result); list1 = jsonData(result); } } catch (Exception e) { } return list1; } public ArrayList<PointOfStructure> jsonData(String str) { ArrayList<PointOfStructure> list2 = JSON.parseObject(str, new TypeReference<ArrayList<PointOfStructure>>() { }); Log.v("result", "list2Size=" + list2.size()); return list2; } }