-4
나는이 JSONbject
을 서버에 보내어 android lollipop과 marshmallow의 매력처럼 작동하려고하지만, 안드로이드 kitkat과 그 버전 아래에 로그인하려고하면 json order mixup 때문에 잘못된 사용자 이름과 비밀번호 오류가 발생합니다. 어떻게 해결할 수 있습니까?안드로이드 KITKAT 및 그 이하 버전에서 Json Object Order가 왜 혼합 되었습니까?
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("USERName", username);
jsonObject.put("LOGINPASSWORD", password);
jsonObject.put("IMEINUMBER1", imeino);
jsonObject.put("Latitude", latitude);
jsonObject.put("Longitude", longitude);
} catch (JSONException e) {
e.printStackTrace();
}
다음은 안드로이드 킷캣과 버전 아래 호환 문제 내 jsonObject
입니다.
{"USERName":"Rahul","Latitude":24.588532515497256,"Longitude":73.7020509167292,"IMEINUMBER1":"911375058484548","LOGINPASSWORD":"12345"}
json은 순서가 없습니다! [여기] 확인 (http://androiddhina.blogspot.in/2015/09/ordered-json-string-in-android.html) – Piyush
Android Lollipop 및 marshmallow에서 올바르게 작동합니다. 하지만 안드로이드 버전 아래에 왜 그것의 순서가되지? –
당신은 이해하지 못합니다 - 당신은 표준 이상으로 일할 수 없습니다. 'JSON' 표준은 JSON 객체가 ** 이름/값 쌍 **의 정렬되지 않은 집합이라는 것을 의미합니다. 즉, 독자는 JSON 필드 순서에 의존하지 말고'name'에 의해 값에 액세스해야합니다. 순서를 유지하려면 대신 JSON 배열을 사용하십시오. ** 배열은 0 개 이상의 값으로 정렬 된 시퀀스입니다. ** – j2ko