RestTemplate에서받은 JSON 응답을 구문 분석 할 수 없습니다.

웹 서비스에서받은 JSON 응답을 구문 분석해야하지만 다음과 같은 오류 메시지가 표시됩니다. 결과 클래스없이 시도했지만 아무 소용이 없었습니다. 어떤 도움을 주시면 감사하겠습니다.

클라이언트가 보낸 요청이 구문 상 잘못되었습니다.

암호

RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new 
                                        MappingJackson2HttpMessageConverter());
        ResponseEntity<Results> responseEntity = restTemplate
                .getForEntity(
                        "http://primesport.sieenasoftware.com/QryApi
                         /GetEvents?
                         username=username&
                         password=password&
                         userid=23",
                         Results.class);
        System.err.println(">>" + responseEntity.getBody().getEvents().size());

클래스

결과

public class Results {
    private List<Events> events;
    getter and setter
}

이벤트

   public class Event {
       private long eventId;
       private String name;
       private String subTitle;
       private String description;
       private String localDate;
       private String localDateFrom;
       private String imageUrl;
       private int venueId;
       private String venue;
       private int availableTickets;
       private long performerId;
       private String performer;
       private String performerType;
       private int subcategoryId;
       private String urlCategoryName;
       private String metaTitle;
       private String metaDescription;
       private String primeSportUrl;
       private String sectionWiseView;
       private String venueCity;
       private String venueState;
       private String snippetDate;
       private int eiProductionId;
       private boolean requireBillingAsShipping;
    public long getEventId() {
        return eventId;
    }
    public void setEventId(long eventId) {
        this.eventId = eventId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSubTitle() {
        return subTitle;
    }
    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getLocalDate() {
        return localDate;
    }
    public void setLocalDate(String localDate) {
        this.localDate = localDate;
    }
    public String getLocalDateFrom() {
        return localDateFrom;
    }
    public void setLocalDateFrom(String localDateFrom) {
        this.localDateFrom = localDateFrom;
    }
    public String getImageUrl() {
        return imageUrl;
    }
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }
    public int getVenueId() {
        return venueId;
    }
    public void setVenueId(int venueId) {
        this.venueId = venueId;
    }
    public String getVenue() {
        return venue;
    }
    public void setVenue(String venue) {
        this.venue = venue;
    }
    public int getAvailableTickets() {
        return availableTickets;
    }
    public void setAvailableTickets(int availableTickets) {
        this.availableTickets = availableTickets;
    }
    public long getPerformerId() {
        return performerId;
    }
    public void setPerformerId(long performerId) {
        this.performerId = performerId;
    }
    public String getPerformer() {
        return performer;
    }
    public void setPerformer(String performer) {
        this.performer = performer;
    }
    public String getPerformerType() {
        return performerType;
    }
    public void setPerformerType(String performerType) {
        this.performerType = performerType;
    }
    public int getSubcategoryId() {
        return subcategoryId;
    }
    public void setSubcategoryId(int subcategoryId) {
        this.subcategoryId = subcategoryId;
    }
    public String getUrlCategoryName() {
        return urlCategoryName;
    }
    public void setUrlCategoryName(String urlCategoryName) {
        this.urlCategoryName = urlCategoryName;
    }
    public String getMetaTitle() {
        return metaTitle;
    }
    public void setMetaTitle(String metaTitle) {
        this.metaTitle = metaTitle;
    }
    public String getMetaDescription() {
        return metaDescription;
    }
    public void setMetaDescription(String metaDescription) {
        this.metaDescription = metaDescription;
    }
    public String getPrimeSportUrl() {
        return primeSportUrl;
    }
    public void setPrimeSportUrl(String primeSportUrl) {
        this.primeSportUrl = primeSportUrl;
    }
    public String getSectionWiseView() {
        return sectionWiseView;
    }
    public void setSectionWiseView(String sectionWiseView) {
        this.sectionWiseView = sectionWiseView;
    }
    public String getVenueCity() {
        return venueCity;
    }
    public void setVenueCity(String venueCity) {
        this.venueCity = venueCity;
    }
    public String getVenueState() {
        return venueState;
    }
    public void setVenueState(String venueState) {
        this.venueState = venueState;
    }
    public String getSnippetDate() {
        return snippetDate;
    }
    public void setSnippetDate(String snippetDate) {
        this.snippetDate = snippetDate;
    }
    public int getEiProductionId() {
        return eiProductionId;
    }
    public void setEiProductionId(int eiProductionId) {
        this.eiProductionId = eiProductionId;
    }
    public boolean isRequireBillingAsShipping() {
        return requireBillingAsShipping;
    }
    public void setRequireBillingAsShipping(boolean requireBillingAsShipping) {
        this.requireBillingAsShipping = requireBillingAsShipping;
    }

}

부분 응답

[{
"EventId":1000250537,
"Name":"US Open Golf",
"SubTitle":null,
"Description":"US Open Golf Tickets",
"Date":"\/Date(1434873560000)\/",
"LocalDate":"6/20/2015 11:59 PM",
"LocalDateFrom":null,
"ImageUrl":null,
"VenueId":146566,
"Venue":"Chambers Bay Golf Course",
"AvailableTickets":33,
"PerformerId":151551,
"Performer":"US Open Golf",
"PerformerType":"Golf",
"SubcategoryId":55,
"UrlCategoryName":"Sports",
"MetaTitle":null,
"MetaDescription":null,
"PrimeSportUrl":"http://primesport.sieenasoftware.com/e/sports/us-open-golf/chambers-bay-golf-course/",
"SectionWiseView":null,
"VenueCity":"UNIVERSITY PLACE",
"VenueState":"WA",
"SnippetDate":null,
"EIProductionId":99985,
"RequireBillingAsShipping":false},
{
"EventId":1000253479,
"Name":"Womens College World Series",
"SubTitle":null,
"Description": .....

최신 정보

JAXB가 JSON과 XML 모두에 사용될 수 있다는 것을 알고 있으며, JAXB가 문제 해결에 도움이되는지 확인하기 위해 사용하려고합니다.

최신 정보

코드는 다음 예외를 반환합니다.

    org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not deserialize instance of com.myproject.myevent.Results out of START_ARRAY token
 at [Source: java.io.PushbackInputStream@dedcd10; line: 1, column: 1]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.myproject.myevent.Results out of START_ARRAY token
 at [Source: java.io.PushbackInputStream@dedcd10; line: 1, column: 1]
    at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:208)
    at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:200)
    at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:97)
    at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:809)
    at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:793)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:576)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:529)
    at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:261)
    at com.myproject.service.TicketSeviceImpl.primeSport(TicketSeviceImpl.java:217)
    at com.myproject.service.TicketSeviceImpl.findTicket(TicketSeviceImpl.java:45)
    at com.myproject.web.TicketController.findTicket(TicketController.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)

최신 정보

다음 코드 반환

암호

try {
            System.err.println(">>> primeSport");
            RestTemplate restTemplate = new RestTemplate();
            restTemplate.getMessageConverters().add(
                    new MappingJackson2HttpMessageConverter());
            ResponseEntity<Event[]> responseEntity = restTemplate
                    .getForEntity(
                            "http://primesport.sieenasoftware.com/QryApi/GetEvents?username=username&password=password&userid=23",
                            Event[].class);
            System.err.println(">>" + responseEntity.getBody().length);
            System.err.println(">>" + responseEntity.getBody()[0].getEventId());
            System.err.println(">>" + responseEntity.getBody()[1].getEventId());
        } catch (Exception e) {
            e.printStackTrace();
        }

산출

>1532
>0
>0
닥시나 무르 티 카라

다음을 시도해보고 도움이되는지 확인해보십시오.

ResponseEntity<Events[]> responseEntity = restTemplate
            .getForEntity(
                    "http://primesport.sieenasoftware.com/QryApi
                     /GetEvents?
                     username=username&
                     password=password&
                     userid=23",
                     Events[].class);
System.err.println(">>" + responseEntity.getBody().length);

필드를 JSON 멤버에 매핑하기 위해 Jackson 주석 JSONProperty("EventId")eventId필드에 사용할 수 있습니다 . 다른 사람들도 마찬가지입니다.

@JsonProperty("EventId")
private long eventId;
@JsonProperty("Name")
private String name;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Jmeter에서 json 응답을 구문 분석 할 수 없습니다.

분류에서Dev

Android에서 복잡한 JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

JSON REST API 응답을 구문 분석 할 수 없습니다.

분류에서Dev

JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

json_decode ()를 사용하여 JSON 웹 서비스 응답을 구문 분석 할 수 없습니다.

분류에서Dev

RestTemplate으로 REST 응답을 구문 분석 할 수 없습니다.

분류에서Dev

ROBLOX Lua에서 JSON을 구문 분석 할 수 없습니다.

분류에서Dev

ROBLOX Lua에서 JSON을 구문 분석 할 수 없습니다.

분류에서Dev

Rubymine 2019.3에서 RuboCop 응답을 구문 분석 할 수 없습니다.

분류에서Dev

ember에서 API 응답을 구문 분석 할 수 없습니다.

분류에서Dev

OutSequence wso2 esb에서 JSON 응답을 구문 분석 할 수 없습니까?

분류에서Dev

JAXB로 응답을 구문 분석 할 수 없습니다.

분류에서Dev

WordPress UI에서 json 문자열을 구문 분석 할 수 없습니다.

분류에서Dev

서버의 응답을 구문 분석 할 수 없음-Geocoder

분류에서Dev

Python을 사용하여 boto3 클라이언트 json 응답을 구문 분석 할 수 없습니다.

분류에서Dev

REST 웹 서비스에서 JSON을 구문 분석 할 수 없습니다.

분류에서Dev

자바 메서드의 응답 인 자바 스크립트에서 json 문자열을 구문 분석 할 수 없습니다.

분류에서Dev

json 응답을 구문 분석 할 수 없습니다. 실제로 비어 있지는 않지만 정의되지 않은 것을 반환합니다.

분류에서Dev

데이터 속성에서 JSON을 구문 분석 할 수 없습니다

분류에서Dev

JMESPATH에서 json 출력을 구문 분석 할 수 없습니다.

분류에서Dev

Ansible Jinja2에서 JSON 목록을 구문 분석 할 수 없습니다.

분류에서Dev

봄 부팅에서 JSON을 구문 분석 할 수 없습니다.

분류에서Dev

자바 스크립트에서 JSON을 구문 분석 할 수 없습니다.

분류에서Dev

MySQL에서 반환 된 JSON을 구문 분석 할 수 없습니다.

분류에서Dev

IvoryCKEditorBundle 업로드 이미지가 JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

Google Place JSON 응답을 구문 분석 할 수 없음-org.json.JSONException

분류에서Dev

Backbone.js collectio.toJSON ()에서 응답을 구문 분석 할 수 없습니다.

분류에서Dev

Pandas로 JSON 파일을 구문 분석 할 수 없습니다.

분류에서Dev

JSON을 구문 분석 할 수 없습니다.

Related 관련 기사

  1. 1

    Jmeter에서 json 응답을 구문 분석 할 수 없습니다.

  2. 2

    Android에서 복잡한 JSON 응답을 구문 분석 할 수 없습니다.

  3. 3

    JSON REST API 응답을 구문 분석 할 수 없습니다.

  4. 4

    JSON 응답을 구문 분석 할 수 없습니다.

  5. 5

    json_decode ()를 사용하여 JSON 웹 서비스 응답을 구문 분석 할 수 없습니다.

  6. 6

    RestTemplate으로 REST 응답을 구문 분석 할 수 없습니다.

  7. 7

    ROBLOX Lua에서 JSON을 구문 분석 할 수 없습니다.

  8. 8

    ROBLOX Lua에서 JSON을 구문 분석 할 수 없습니다.

  9. 9

    Rubymine 2019.3에서 RuboCop 응답을 구문 분석 할 수 없습니다.

  10. 10

    ember에서 API 응답을 구문 분석 할 수 없습니다.

  11. 11

    OutSequence wso2 esb에서 JSON 응답을 구문 분석 할 수 없습니까?

  12. 12

    JAXB로 응답을 구문 분석 할 수 없습니다.

  13. 13

    WordPress UI에서 json 문자열을 구문 분석 할 수 없습니다.

  14. 14

    서버의 응답을 구문 분석 할 수 없음-Geocoder

  15. 15

    Python을 사용하여 boto3 클라이언트 json 응답을 구문 분석 할 수 없습니다.

  16. 16

    REST 웹 서비스에서 JSON을 구문 분석 할 수 없습니다.

  17. 17

    자바 메서드의 응답 인 자바 스크립트에서 json 문자열을 구문 분석 할 수 없습니다.

  18. 18

    json 응답을 구문 분석 할 수 없습니다. 실제로 비어 있지는 않지만 정의되지 않은 것을 반환합니다.

  19. 19

    데이터 속성에서 JSON을 구문 분석 할 수 없습니다

  20. 20

    JMESPATH에서 json 출력을 구문 분석 할 수 없습니다.

  21. 21

    Ansible Jinja2에서 JSON 목록을 구문 분석 할 수 없습니다.

  22. 22

    봄 부팅에서 JSON을 구문 분석 할 수 없습니다.

  23. 23

    자바 스크립트에서 JSON을 구문 분석 할 수 없습니다.

  24. 24

    MySQL에서 반환 된 JSON을 구문 분석 할 수 없습니다.

  25. 25

    IvoryCKEditorBundle 업로드 이미지가 JSON 응답을 구문 분석 할 수 없습니다.

  26. 26

    Google Place JSON 응답을 구문 분석 할 수 없음-org.json.JSONException

  27. 27

    Backbone.js collectio.toJSON ()에서 응답을 구문 분석 할 수 없습니다.

  28. 28

    Pandas로 JSON 파일을 구문 분석 할 수 없습니다.

  29. 29

    JSON을 구문 분석 할 수 없습니다.

뜨겁다태그

보관