2013-12-06 4 views
0
HttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(
        "http://gateway.ceylonlinux.com/hayleys2/services/getUserStokDetail?token=40da9b9ed74f672c3871d76a2c87857b&timestamp=0"); 
      ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
      String responseBody = httpClient.execute(httpPost, responseHandler); 
      JSONObject posts = new JSONObject(responseBody); 
      JSONArray jArray = posts.getJSONArray("timestamp"); 
      Log.i("Tag", jArray.toString()); 

Я попытался выше код для получения данных с сервера, но когда я пытаюсь что я получаю следующее сообщение об ошибкеjava.lang.Long не могут быть преобразованы в JSONArray

12-06 11:12:27.539: W/System.err(4870): org.json.JSONException: Value 1386308549000 at timestamp of type java.lang.Long cannot be converted to JSONArray 
+1

'timestamp' - это не любой массив. разделите строку Json –

+0

http://gateway.ceylonlinux.com/hayleys2/services/getUserStokDetail?token=40da9b9ed74f672c3871d76a2c87857b×tamp=0 – user2889058

ответ

0

Замените эту строку

JSONArray jArray = posts.getJSONArray("timestamp"); 

С этим номером:

long mTimeStamp = posts.getLong("timestamp"); 

Потому что в вас г JSON Stringtimestamp является long value не array

В вашем JSON Stringstock является array, так что вы можете получить stock с помощью этого

JSONArray jArray = posts.getJSONArray("stock"); 
2

timestamp это значение вместо JSONArray. stock - JSONArray. получить как значение, как:

JSONArray jArray = posts.getJSONArray("stock"); /// get stock JSONArray 
Log.i("Tag", jArray.toString()); 

long timestamp=posts.getLong("timestamp"); /// get timestamp 
0

проверить вашу строку JSon ли она jsonArray имени метки времени или имеют только длинный переменную с именем метки. вы можете проверить этот link для структуры json также.

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