JSON 구문 오류: BEGIN_ARRAY가 필요했지만 BEGIN_OBJECT였습니다.
JSON 데이터를 구문 분석할 때 JSON 구문 분석기에 오류가 발생했습니다. 예상된 구조와 실제 구조.
문제:
"BEGIN_ARRAY를 예상했지만 1행 2열에서 BEGIN_OBJECT였습니다"라는 오류 메시지는 파서가 배열 구조( BEGIN_ARRAY)가 JSON 데이터에 포함되어 있지만 대신 객체 구조(BEGIN_OBJECT)가 발견되었습니다. 이러한 불일치로 인해 파서가 실패하고 예외가 발생할 수 있습니다.
서버 URL 및 요청:
제공된 코드 조각은 URL에 대한 HTTP POST 요청을 수행하고 검색합니다. 그 반응. URL은 원격 서버에서 JSON 데이터를 검색하도록 구성됩니다.
Post 클래스:
Post 클래스는 예상되는 데이터 배열 내에서 각 객체의 구조를 정의합니다. 그러나 오류 메시지에 표시된 대로 서버는 개체 배열이 아니라 단일 개체를 반환합니다.
해결책:
코드에서는 다음과 같은 배열을 예상합니다. 개체를 게시하지만 단일 개체를 받습니다. 이 문제를 해결하려면 응답을 배열 대신 단일 Post 객체로 해석하도록 코드를 수정하십시오.
<code class="java">Post post = gson.fromJson(reader, Post.class);</code>
<code class="java">List<Post> postsList = Arrays.asList(gson.fromJson(reader, Post[].class));</code>
위 줄로 대체하면 코드가 올바르게 JSON 응답을 단일 Post 객체로 해석하여 "BEGIN_ARRAY가 예상되었지만 BEGIN_OBJECT였습니다" 오류를 해결합니다.
위 내용은 JSON 데이터를 구문 분석할 때 \'JSON 구문 오류: BEGIN_ARRAY가 필요했지만 BEGIN_OBJECT\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!