Json Parser在android中

时间:2014-05-06 19:58:56

标签: android json

  

http://www.example.com/?p=115   我试图使用下面的json解析器类来解析这样的url   这个类适用于像这样的普通wordpress网址。   http://www.example.com/?json=get_category_posts&slug=local&count=10&status=published   我有什么选择

public class JSONParser {

static InputStream is = null;
static JSONObject jObj = null;
static String json = "";

// constructor
public JSONParser() {

}

// function get json from url
// by making HTTP POST or GET mehtod
public JSONObject makeHttpRequest(String url, String method,
       List<NameValuePair> params) {

   // Making HTTP request
   try {

       // check for request method
       if(method == "POST"){
           // request method is POST
           // defaultHttpClient
           DefaultHttpClient httpClient = new DefaultHttpClient();
           HttpPost httpPost = new HttpPost(url);
           httpPost.setEntity(new UrlEncodedFormEntity(params));

           HttpResponse httpResponse = httpClient.execute(httpPost);
           HttpEntity httpEntity = httpResponse.getEntity();
           is = httpEntity.getContent();

       }else if(method == "GET"){
           // request method is GET
           DefaultHttpClient httpClient = new DefaultHttpClient();
           String paramString = URLEncodedUtils.format(params, "utf-8");
           url += "?" + paramString;
           HttpGet httpGet = new HttpGet(url);

           HttpResponse httpResponse = httpClient.execute(httpGet);
           HttpEntity httpEntity = httpResponse.getEntity();
           is = httpEntity.getContent();
       }          

   } catch (UnsupportedEncodingException e) {
       e.printStackTrace();
   } catch (ClientProtocolException e) {
       e.printStackTrace();
   } catch (IOException e) {
       e.printStackTrace();
   }

   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();
       json = sb.toString();
   } catch (Exception e) {
       Log.e("Buffer Error", "Error converting result " + e.toString());
   }

   // try parse the string to a JSON object
   try {
       jObj = new JSONObject(json);
   } catch (JSONException e) {
       Log.e("JSON Parser", "Error parsing data " + e.toString());
   }
   return jObj;
 }   
}
but i get an error    Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String  cannot be converted to JSONObject

0 个答案:

没有答案