3 가지 가능한 변형을 가진 REST API를 구문 분석하려고합니다. 첫 번째 것은 이미 아래에있는 사진과 같이 "행"출력을위한 배열이있는 곳에서 이미 작동하는 것입니다. 아래 그림과 같이안드로이드에서 3 가지 가능한 변형으로 REST API를 파싱하는 방법
또한, 물체가 로우로된다.
이들 중 하나는 API를 구문 분석 할 때 가능한 출력이며, 출력이 무엇인지 확인하고 if에서 정보를 구문 분석하는 if 문과 같은 것이 필요하지만 if를 작성하는 방법을 모르겠습니다. 이 특별한 필요에 대한 진술. 여기에 내 현재 코드가있다 :
JSONObject parentObject = new JSONObject(finalJson);
JSONObject responseJSON = JSONUtils.jsonObjectFromJSONForKey(parentObject, "response");
if (responseJSON != null) {
JSONObject resultJSON = JSONUtils.jsonObjectFromJSONForKey(responseJSON, "result");
JSONObject contactsJSON = JSONUtils.jsonObjectFromJSONForKey(resultJSON, "Potentials");
JSONArray parentArray = contactsJSON.getJSONArray("row");
List<Photoshoots> photoshootsList = new ArrayList<>();
for (int i = 0; i < parentArray.length(); i++) {
JSONObject mainObject = parentArray.getJSONObject(i);
JSONArray mainArray = mainObject.getJSONArray("FL");
Photoshoots photoshoot = new Photoshoots();
...
내 생각에 이것은 잘못된 디자인입니다. 항상 동일한 구조체 (이 경우 배열)를 반환해야합니다. 이것은 배열 일 수 있습니다. 1 또는 2의 배열 또는 빈 배열 –
ScaryWombat의 정서에 동의합니다. 결과를 단일 객체로 파싱합니다. "nodata"가 있는지 또는 "행"인지 확인하십시오.아니요 "또는 무엇이든, 그 다음 나머지 부분을 처리 할 수 있고, 더 많은 것을 대표 할 수 있습니다. 하루가 끝날 때 가지고있는 정보는 0 개 이상의 결과 객체와 선택적인 설명 메시지/코드로 종결됩니다. - 배열과 어쩌면 문자열 - 비즈니스 로직을 * 수행하십시오. * Btw는 설계하고 수정 한 API입니까? –