문자열을 JSON 배열로 변환할 때 발생하는 문제
웹 서비스의 JSON 문자열을 JSON 배열로 구문 분석하려고 할 때 Android 개발자에게 유형 불일치 예외가 발생했습니다. 제공된 JSON 문자열이 유효하며 다음 코드가 사용되었습니다.
JSONArray jsonArray = new JSONArray(readlocationFeed);
해결 방법
문제는 생성되는 JSON 개체 유형에 있습니다. 수신된 JSON은 실제로 배열이 아닌 JSON 개체입니다. 문제를 해결하려면 코드를 다음과 같이 수정해야 합니다.
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations");
이렇게 하면 JSON 문자열에서 JSONObject가 생성된 다음 여기에서 "locations" 배열이 검색됩니다. 그런 다음 배열을 반복하여 개별 위치 개체에 액세스할 수 있습니다. 수정된 코드는 다음과 같습니다.
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject locationObject = jsonArray.getJSONObject(i); }
위 내용은 Android에서 문자열-JSONArray 변환이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!