I did JSON parsing on Eclipse ADT and it was running perfectly. But when used the same code on Android Studio it was showing error in DefaultHttpClient and every other word in that block.
Here is my JSON parser class
JSONParser.java
public class JSONParser {
JSONArray cArray;
JSONObject jsonObj;
InputStream is = null;
String jsonStr = "";
String urlString;
Context context;
String id;
String name, email, mobile;
Contacts contacts;
List < Contacts > contactList;
public JSONParser() {
// TODO Auto-generated constructor stub
}
public JSONParser(String url) {
this.urlString = url;
}
public List < Contacts > getString() {
contactList = new ArrayList < Contacts > ();
try {
// **Error in this block**
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(urlString);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (NullPointerException e) {
Log.e("NULL DATA", "cant fetch " + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
jsonStr = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
if (jsonStr != null) {
try {
cArray = new JSONArray(jsonStr);
JSONObject jsonObj = null;
// looping through All Contacts
for (int i = 0; i < cArray.length(); i++) {
jsonObj = cArray.getJSONObject(i);
id = jsonObj.getString("foodno");
name = jsonObj.getString("foodname");
email = jsonObj.getString("foodtype");
/* JSONObject phoneNo = jsonObj.getJSONObject("phone");
mobile = phoneNo.getString("mobile");*/
contacts = new Contacts(id, name, email);
// adding contact to contact list
contactList.add(contacts);
}
} catch (JSONException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
} else {
Log.e("JSONParser", "Couldn't get any data from the url");
}
return contactList;
}
}
Can anyone suggest how to connect to get that json string which i can pass to BufferedReader ?