我想从服务器获取数据,但String是一个Encode,所以我无法获取Encode String。那么如何转换解码并获取它?。
我能够在没有编码的情况下成功从服务器获取数据意味着普通字符串。
实施例,
DESC =" PHA + PHN0cm9uZz48YSBocmVmPSJodHRwOi8vd3d3Lm1hcnlzY2VudGVyLm9yZy9jb250ZW50L2hlYWx0aC1jYXJlLXNlcnZpY2VzIj48c3Ryb25nPk1lZGljYWwgU2VydmljZXM8L3N0cm9uZz48L2E + OiB0byBtYWtlIGFu&#34 ;;
我的代码是,
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 :(得分:0)
{回复:“成功”,数据:[{s_id:“5”,ser_id:“11”,ser_title:“服务”,标题:“服务”,desc:“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");
}
}
答案 1 :(得分: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;
}