Я пытаюсь сортировать оценки, поступающие из JSONArray и выводя только топ 10. Вот мой код.Android - org.json.simple.JSONObject нельзя отнести к org.json.JSONObject
try {
JSONArray jArray = new JSONArray(result);
List<String> jsonValues = new ArrayList<String>();
for (int i = 0; i < jArray.length(); i++)
jsonValues.add(jArray.getString(i));
Collections.sort(jsonValues);
JSONArray sortedJsonArray = new JSONArray(jsonValues);
for(int i=0;i<10;i++){
JSONObject jObject;
try {
JSONParser parser = new JSONParser();
JSONObject obj = (JSONObject) parser.parse((String) sortedJsonArray.get(i));
Score score =new Score();
score.setId(obj.getInt("Id"));
score.setPlayerId(obj.getInt("PlayerId"));
score.setHiScore(obj.getInt("HiScore"));
tempList.add(score);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Я хотел разобрать sortedJsonArray в JSONObject, поэтому я использовал org.json.simple.JSONObject, но он говорит, что не может быть приведен к JSONObject. Я попытался с помощью org.json.simple.JSONObject тип данных для OBJ но я получил эту ошибку
The method getInt(String) is undefined for the type JSONObject
Я извлечения данных с веб-сервера
List<Score> tempList = new ArrayList<Score>();
HttpClient client = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(EndPoint+"/Scores");
String result="";
HttpResponse response;
try {
response = client.execute(getRequest);
HttpEntity entity = response.getEntity();
if(entity!=null){
InputStream instream = entity.getContent();
StreamConverter sc= new StreamConverter();
result= StreamConverter.convertStreamToString(instream);
instream.close();
}
EDIT
Я понял, что могу просто разобрать JSONArray на строку, используя (String), а не использовать JSONParse. -____-
jObject = new JSONObject((String) sortedJsonArray.get(i));
pls post json here –
Попробуйте этот JSONObject obj = (JSONObject) parser.parse (sortedJsonArray.get (i)); –
Khizar Hayat Я пробовал это, он говорит, что sortedJsonArray - это Object, а JSONParser принимает String. – camille