중첩 결과에서 동적 JSON 키에 액세스
JSON 데이터에서 키는 동적일 수 있습니다. 즉, 개체마다 다를 수 있습니다. 이는 특히 중첩된 구조에서 특정 값에 액세스할 때 문제가 될 수 있습니다.
중첩된 결과에서 동적 JSON 키를 처리하려면 JSONObject 클래스의key() 메서드를 활용할 수 있습니다. 이 메소드는 JSON 객체에서 사용 가능한 키를 반복할 수 있는 반복자를 반환합니다.
다음 JSON 구조를 고려하세요.
{ "status": "OK", "search_result": [ { "product": "abc", "id": "1132", "question_mark": { "141": { "count": "141", "more_description": "this is abc", "seq": "2" }, "8911": { "count": "8911", "more_desc": "this is cup", "seq": "1" } }, "name": "some name", "description": "This is some product" }, { "product": "XYZ", "id": "1129", "question_mark": { "379": { "count": "379", "more_desc": "this is xyz", "seq": "5" }, "845": { "count": "845", "more_desc": "this is table", "seq": "6" }, "12383": { "count": "12383", "more_desc": "Jumbo", "seq": "4" }, "257258": { "count": "257258", "more_desc": "large", "seq": "1" } }, "name": "some other name", "description": "this is some other product" } ] }
"question_mark" 필드의 콘텐츠에 액세스하려면 "search_result" 배열의 각 개체에 대해 다음 코드를 사용할 수 있습니다.
for (JSONObject searchResult : searchResults) { JSONObject questionMark = searchResult.getJSONObject("question_mark"); Iterator<String> keys = questionMark.keys(); while (keys.hasNext()) { String currentDynamicKey = keys.next(); // Get the value of the dynamic key JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey); // Do something here with the value... } }
이 코드는 "question_mark" 필드에서 사용 가능한 키를 반복하고 각 키와 연결된 값을 검색합니다. 그런 다음 추가 처리 또는 표시에 이 값을 사용할 수 있습니다.
위 내용은 중첩된 결과에서 동적 JSON 키에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!