【问题标题】:How to Parse the JSON String Android如何解析 JSON 字符串 Android
【发布时间】:2013-06-05 10:59:54
【问题描述】:

我正在尝试解析下面的 JSONString

[[{"0":"
","title":" Technical Support Analyst in Noida","1":"
","Company Name":" Oracle","2":"
","Category":"Fresher","3":"
","Job Type":"Full Time","4":"
","Location":"Noida","5":"
","Job Qualification":"BE\/BTch\/Bsc\/Others","6":"
","Job Experience":"Freshers","7":"
","Job postdate":"2013-6-05","8":"
"}]]

这是我的代码:

// try parse the string to a JSON object
try {
    //jObj = new JSONObject(JsonString);
    JSONArray ja = new JSONArray(result);
    int size = ja.length();
    Log.d("tag", "No of Elements " + ja.length());
} catch (JSONException e) {
    Log.e("JSON Parser", "Error parsing data " + e.toString());
}

有人可以帮忙吗,我的代码不起作用? 我想解析标题、公司名称、类别等...

【问题讨论】:

标签: java android json android-layout android-intent


【解决方案1】:

您需要从您的 jsonstring 创建JSONArray

JSONArrayJSONArray 中,然后是 JSONObect..

 try {
        JSONArray ja = new JSONArray(buffer.toString());
        JSONArray innerJsonArray = ja.getJsonArray(0);
        JSONObject object = innerJsonArray.getJSONObject(0);
        String title = object.getString("title");                
     } 
     catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
     }

【讨论】:

    【解决方案2】:

    看看我写的使用本机工具和 Gson 库的 Json 解析指南:

    Json Parsing

    也许你会发现它很有用。 您也可以从那里下载完整的项目并自己运行和测试。

    【讨论】:

      【解决方案3】:

      您需要构建您的 json。

      没有名为“结果”的数组。你要做的就是给 json 中的每一个元素命名一个唯一的名字,以便获取它。

        {"result":
          ["result1":["result2":{"0":"
          ","title":" Technical Support Analyst in Noida","1":"
          ","Company Name":" Oracle","2":"
          ","Category":"Fresher","3":"
          ","Job Type":"Full Time","4":"
          ","Location":"Noida","5":"
          ","Job Qualification":"BE\/BTch\/Bsc\/Others","6":"
          ","Job Experience":"Freshers","7":"
          ","Job postdate":"2013-6-05","8":"
          "}]]}
      

      【讨论】:

        【解决方案4】:

        您可以尝试下面的代码来解析 JSON

        {
        "result": "success",
        "countryCodeList":
        [
        {"countryCode":"00","countryName":"World Wide"},
        {"countryCode":"kr","countryName":"Korea, Republic of"},
        {"countryCode":"us","countryName":"United States"},
        {"countryCode":"jp","countryName":"Japan"},
        {"countryCode":"cn","countryName":"China"},
        {"countryCode":"in","countryName":"India"}
        ]
        }
        

        解析代码

        public static ArrayList<Country> ParseJson(String jsonstring) {
        
            ArrayList<Country> arrCountries = new ArrayList<Country>();
        
            String status;
            String message = "";
            try {
        
        
                JSONObject json = new JSONObject(jsonstring);
        
                status = json.getString("result");
        
                if (status.equalsIgnoreCase("success")) {
        
        
                    JSONArray nameArray = json.names();
                    JSONArray valArray = json.toJSONArray(nameArray);
        
                    JSONArray valArray1 = valArray.getJSONArray(1);
        
                    valArray1.toString().replace("[", "");
                    valArray1.toString().replace("]", "");
        
                    int len = valArray1.length();
        
                    for (int i = 0; i < valArray1.length(); i++) {
        
                        Country country = new Country();
                        JSONObject arr = valArray1.getJSONObject(i);
        
                        country.setCountryCode(arr.getString("countryCode"));
                        country.setCountryName(arr.getString("countryName"));
                        arrCountries.add(country);
                    }
                }
        
            } catch (JSONException e) {
                Log.e("JSON", "There was an error parsing the JSON", e);
            }
            return arrCountries;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-10-02
          • 2017-01-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-26
          • 1970-01-01
          相关资源
          最近更新 更多