Ich versuche, Scores zu sortieren, die von einem JSONArray kommen, und gebe nur die Top 10 aus. Hier ist mein Code.Android - org.json.simple.JSONObject kann nicht in org.json.JSONObject umgewandelt werden
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();
}
Ich wollte die sortedJsonArray in JSONObject analysieren, das ist, warum ich org.json.simple.JSONObject verwendet, aber es sagt, dass es nicht zu JSONObject gegossen werden kann. Ich habe versucht, org.json.simple.JSONObject Datentyp für obj aber ich habe diesen Fehler
The method getInt(String) is undefined for the type JSONObject
Ich Abrufen von Daten von einem Webserver
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
mitIch erkannte, dass ich einfach JSONArray mit (String) zu string analysieren und nicht JSONParse verwenden konnte. -____-
jObject = new JSONObject((String) sortedJsonArray.get(i));
pls post json hier –
Probieren Sie dieses JSONObject obj = (JSONObject) parser.parse (sortedJsonArray.get (i)); –
Khizar Hayat Ich habe das versucht, es sagt, dass sortedJsonArray ein Objekt ist, und JSONParser akzeptiert String. – camille