{"futsal_id":"59",
"description":[{
"futsal_id":"59",
"futsal_desc":"This is great futsal"}],
"features":[{"futsal_id":"59","futsal_feat":"free 4 bottles of water"}],
"dimension":null,
"no_of_futsal":null,
"opening_hrs":null,
"price_weekdays_price1":[{
"futsal_id":"59",
"price_id":"1",
"start_time":"6am",
"end_time":"10am",
"price":"1000"}],
"price_weekdays_price2":[{
"futsal_id":"59",
"price_id":"2",
"start_time":"10am",
"end_time":"3pm",
"price":"1200"}],
"price_weekdays_price3":[{
"futsal_id":"59",
"price_id":"3",
"start_time":"3pm",
"end_time":"9pm",
"price":"1300"}],
"price_weekend_price1":null,
"price_weekend_price2":null,
"price_weekend_price3":null,
"images":[],
"image_count":0,
"news":null}
这是来自PHP的My JsonResponse。 由于这些响应中存在空数据,我无法在android studio中获得这些响应中的任何响应。 如果不存在空数据,则response.getString()具有所有这些数据,但是由于空数据,response.getString没有响应。 可能是什么问题?
class ShowResult extends AsyncTask<Void, Void, String[]> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pd.show();
}
@Override
protected void onPostExecute(String[] aVoid) {
super.onPostExecute(aVoid);
pd.cancel();
txt.setText(result[0]);
}
@Override
protected String[] doInBackground(Void... params) {
try {
Log.d("sssssssssssssss", "sadf");
URL url = new URL("http://futsalgroove.s4generation.com/app/android_c/show_details/");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("POST");
String urlParameters = "id=" + bundle.getString("id");
//sending the parameter using DataOutputStream
DataOutputStream wr = new DataOutputStream(urlConnection.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
//Reading the data or response from the PHP file
BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
Log.d("sssssssssssssss", "iii" + in);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
Log.d("Detail Outputss", inputLine);
}
in.close();
//Using the JasonObject from php
Log.d("Detail Outputsss", "" + response.toString());
JSONObject json = new JSONObject(response.toString());
JSONArray description = json.getJSONArray("description");
JSONObject descObj = description.getJSONObject(0);
result[0] = descObj.getString("futsal_desc");
Log.d("DetailOut","" + result[0]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
}
return result;
}
}
答案 0 :(得分:0)
替换您的代码
tblcolumnpath = C:\Users\image-path\myimage.jpg;
带
JSONObject json = new JSONObject(response.toString());
JSONArray description = json.getJSONArray("description");
JSONObject descObj = description.getJSONObject(0);
result[0] = descObj.getString("futsal_desc");
Log.d("DetailOut","" + result[0]);
可能会有效。对于JObject,在顶部使用Newtonsoft.Json.Linq
JObject json = JObject.Parse(response.toString());
JArray description = (JArray)json["description"];
JObject descObj = (JObject)description[0];
result[0] = descObj["futsal_desc"].ToString();
Log.d("DetailOut","" + result[0]);