0
Webサービスの応答を解析しようとしていますが、コードで 'NullPointerException'がスローされます。 XmlRootElementアノテーションをRestaurantクラスに追加しましたが、同じ例外がスローされました。JAXBを使用してxml応答を解析できません - NullPointerExceptionがスローされます
応答は次のようになり
<RestaurantList>
<Restaurant id="100001">
<Url>URL is here</Url>
<Name>Agaton</Name>
<Description>
<Text> Text is here</Text>
</Description>
<Image>
<Code>111772</Code>
<Name>MAINCOURSE</Name>
<Description><Text>Main course Agaton</Text></Description>
<Url>http://img.static-
bookatable.com/17862a2d1fa13f5fb083a4d78d6f7e42.jpg</Url>
</Image>
<Image>
<Code>111773</Code>
<Name>MAINCOURSE</Name>
<Url>http://img.static-
bookatable.com/8fae3334490c276322ac1a597fc2d456.jpg</Url>
</Image>
<PrimaryCuisine>Italian</PrimaryCuisine>
<Address>
<Line1>Västerlånggatan 72</Line1>
<Line2/>
<Line3/>
<PostalCode>111 29</PostalCode>
<City>Stockholm</City>
<Country>SWE</Country>
</Address>
<Geo>
<Latitude>59.32299</Latitude>
<Longtitude>18.07205</Longtitude>
</Geo>
<Region></Region>
<Detail>
<Homepage>http://www.restaurangagaton.se</Homepage>
<EMail>[email protected]</EMail>
<PhoneNumber type="Main">+46 8207299</PhoneNumber>
<PhoneNumber type="Fax">+46 8207107</PhoneNumber>
<Styles>
<Style>
<Text>Neighbourhood Restaurant</Text>
</Style>
</Styles>
<OpenHours>Sunday-Thursday 11.00-22.00 Friday-Saturday 11.00
23.00</OpenHours>
<AveragePriceThreeCourseMeal
currency="SEK">550</AveragePriceThreeCourseMeal>
<AveragePriceMainCourse currency="SEK">223</AveragePriceMainCourse>
</Detail>
</Restaurant>
<Restaurant id="100005"><Url>
コード
RestTemplate restTemplate = new RestTemplate();
RestaurantList response = restTemplate.getForObject(url, RestaurantList.class);
System.err.println("size>>" + response.getRestaurants().size()); //Exception
私はすべてのgetterとsetter
RestaurnatList
を持っていますレストラン
@XmlAccessorType(XmlAccessType.FIELD)
public class Restaurant{
@XmlAttribute
private long id;
@XmlElement
private String url;
@XmlElement
private String name;
@XmlElement
private Description description;
@XmlElement
private List<Image> image;
@XmlElement
private String primaryCuisine;
@XmlElement(name = "address")
private Address address;
@XmlElement
private Geo geo;
@XmlElement
private Region region;
@XmlElement
private Detail detail;
説明
@XmlAccessorType(XmlAccessType.FIELD)
public class Description {
@XmlElement(name="text")
private String text;
画像
@XmlAccessorType(XmlAccessType.FIELD)
public class Image {
@XmlElement
private long code;
@XmlElement
private String name;
@XmlElement
private Description description;
@XmlElement
private String url;
住所
@XmlAccessorType(XmlAccessType.FIELD)
public class Address {
@XmlElement
private String line1;
@XmlElement
private String line2;
@XmlElement
private String line3;
@XmlElement
private String postalCode;
@XmlElement
private String city;
@XmlElement
private String country;
ジオ
@XmlAccessorType(XmlAccessType.FIELD)
public class Geo {
@XmlElement
private double latitude;
@XmlElement
private double longtitude;
リージョン
@XmlAccessorType(XmlAccessType.FIELD)
public class Region {
@XmlElement
private long code;
詳細
@XmlAccessorType(XmlAccessType.FIELD)
public class Detail {
@XmlElement
private String homepage;
@XmlElement
private String email;
@XmlElement
private String phoneNumber1;
@XmlElement
private String phoneNumber2;
@XmlElement
private Styles style;
@XmlElement
private String openHours;
@XmlElement
private double averagePriceThreeCourseMeal;
@XmlElement
private double averagePriceMainCourseMeal;