2015-01-30 3 views
2

Я хочу получить данные с сервера, но String - это Encode, поэтому я не могу получить Encode String. Итак, как конвертировать в декодирование и выборку?Как декодировать данные String и Fetch с сервера в android?

Я могу успешно получить данные с сервера без кодирования, это означает, что это нормальная строка.

Пример,

убывания = "РЕН + PHN0cm9uZz48YSBocmVmPSJodHRwOi8vd3d3Lm1hcnlzY2VudGVyLm9yZy9jb250ZW50L2hlYWx0aC1jYXJlLXNlcnZpY2VzIj48c3Ryb25nPk1lZGljYWwgU2VydmljZXM8L3N0cm9uZz48L2E + OiB0byBtYWtlIGFu";

Мой код,

public class JSONFunctions { 

    public static JSONObject getJSONfromURL(String url) { 
     InputStream is = null; 
     String result = ""; 
     JSONObject jArray = null; 

     // Download JSON data from URL 
     try { 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost(url); 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 
      is = entity.getContent(); 

     } catch (Exception e) { 
      Log.e("log_tag", "Error in http connection " + e.toString()); 
     } 

     // Convert response to string 
     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      // BufferedReader reader = new BufferedReader(new 
      // InputStreamReader(is, HTTP.UTF_8), 8); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      result = sb.toString(); 
     } catch (Exception e) { 
      Log.e("log_tag", "Error converting result " + e.toString()); 
     } 

     try { 

      jArray = new JSONObject(result); 
     } catch (JSONException e) { 
      Log.e("log_tag", "Error parsing data " + e.toString()); 
     } 

     return jArray; 
    } 
+0

, что ваш ответ JSON является: –

+0

{ ответа: "Успех", данные: [ { s_id: "5", ser_id: "11", ser_title: "Услуга", названия: «Услуги», по убыванию: «PHN0cm9uZz48YSB» } ] } – Reena

ответ

0

ваш JSON уже прибывающий с сервера, как это?

{ 
    response: "success", 
    data: [ 
     { 
      s_id: "5", 
      ser_id: "11", 
      ser_title: "Services", 
      title: "Services", 
      desc: "PHN0cm9uZz48YSB" 
     } 
    ] 
} 

Если не, не могли бы вы предоставить нам некоторый код, как ваш сервер обслуживает что JSON?


Если да, то @Akash ответ будет работать, но я рекомендую вам разобрать ваш JSON в JAVA объекта, для лучшей читаемости и технического обслуживания, используя внешнюю библиотеку как Google Gson

быть бы что-то вроде этого:

Gson gson = new Gson(); 
YourJavaObject object = gson.fromJson(jsonString, YourJavaObject.class) 

YourJavaObject.class

public class YourJavaObject { 
    public Integer s_id; 
    public Integer ser_id; 
    public String ser_title; 
    public String desc; 
    public String title; 
} 
0

{ответ: "Успех", данные: [{s_id: "5", ser_id: "11", ser_title: "Услуги", название: "Услуги", убывание: "PHN0cm9uZz48YSB"}]}

JSONObject obj = new JSONObject(response); 
status = obj.getString("response"); 
if(status.equals("success") 
{ 

JSONArray Data = obj.getJSONArray("data"); 
for(int i=0;i<Data.length();i++) 
{ 
    String s_id=Data.getJsonObject(i).getString("s_id"); 
    String ser_id=Data.getJsonObject(i).getString("ser_id"); 
    String ser_title=Data.getJsonObject(i).getString("ser_title"); 
    String title=Data.getJsonObject(i).getString("title"); 
    String desc=Data.getJsonObject(i).getString("desc"); 
} 

} 
Смежные вопросы