嗨。 我有一行json数据@我的web服务。所有Json数据均以此格式提供,仅限URL和链接。所以它是我知道的JsonObject。 Short说我要求,结果总是以url结尾。所以输出是:问题JsonObject解析无法转换为jsonarray
{"Url":"www.google.com"}
这是我做了
JSONArray json = jParser.getJSONFromUrl(url);
try {
ListBasedList.clear();
//for each loop til JSON data
for(int i = 0; i < json.length(); i++){
JSONObject c = json.getJSONObject(i);
String json_url = c.getString(TAG_Url);
if(json_url.equals(0) && json_url.equals(""))
{
LinearLayout lin_footer = (LinearLayout) findViewById(R.id.footer_layoutMain);
lin_footer.setVisibility(View.GONE);
}
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_Url, json_url);
ListBasedList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
Log.e("JSON Parser fejl", "fejl da man prøve og hente data fra server " + e.toString());
}
return null;
}
错误发生在这里
logcat的告诉我:
的JSONObject不能转换到jsonarray
那么我怎么能有链接而不是错误?
更新#1 - > logcat的完整的错误
10-01 13:34:45.685: E/JSON Parser(24256): Error parsing data org.json.JSONException: Value {"url":"www.google.com"} of type org.json.JSONObject cannot be converted to JSONArray
更新#2 - > JsonParser类
public class JSONParser {
static InputStream is = null;
static String json = "";
JSONArray jsonarr=null;
// konstruktor
public JSONParser() {
}
public JSONArray getJSONFromUrl(String url) {
JSONArray jsonarr=null;
// HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
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());
}
// json array paser til string
try {
jsonarr = new JSONArray(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// retunerer json object tilbage
return jsonarr;
}
}
安置自己的JSON响应。 –
向我们展示您的json – Raghunandan
{“Url”:“www.google.com”} – Tirolel