【问题标题】:JSONParser cannot be resolved to a typeJSONParser 无法解析为类型
【发布时间】:2012-11-02 20:05:47
【问题描述】:

尝试学习本教程:Tutorial

尝试像这样使用 JSONParser

// Creating JSON Parser object
JSONParser jParser = new JSONParser();

但是 Eclipse 给了我JSONParser cannot be resolved to a type

怎么办?

【问题讨论】:

    标签: java android


    【解决方案1】:

    JSONParser 类在教程的下方看起来像这样......

    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 method
        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 JSON String
            return jObj;
    
        }
    }
    

    我会考虑看看杰克逊图书馆http://jackson.codehaus.org/

    【讨论】:

    • 请注意,按照惯例,json 是使用 UTF-8 编码的。如果使用非 ascii 字符,此处发布的代码可能会给出错误的结果。
    • 我实际上被困在同一个教程上,你会认为他们会先构建 JSONparser 类以避免混淆
    猜你喜欢
    • 2015-10-22
    • 1970-01-01
    • 2021-08-28
    • 2013-12-14
    • 2015-06-10
    • 2015-11-22
    • 1970-01-01
    • 2014-07-23
    • 2011-12-31
    相关资源
    最近更新 更多