簡體   English   中英

如何從JSON數據創建Bean?

[英]How to create a Bean from JSON data?

這是我無法控制的json結構:

{
   "items":[
      {
         "rating":5.4,
         "count":10
      },
      {
         "rating":4.4,
         "count":13
      }
      //repeat...
    ]
}

我試圖從中生成一個XSD,然后使用xsd2java自動生成一個Java類。

這是我嘗試的:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="list">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="items">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:int" name="rating"/>
                    <xs:element type="xs:int" name="count"/>
                  </xs:sequence>
                </xs:complexType>
    </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

結果是:

@XmlRootElement("list")
@XmlAccessorType(XmlAccessType.FIELD)
public class MyDTO {
    MyDTO.Items items;

    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Items {
        private int rating;
        private int count;
    }
}

但是:這是不正確的:這些items應該是List<Items> 我究竟做錯了什么?

您必須提供maxOccurs =“ unbounded”(或非負數)。 例如

<xs:complexType>
  <xs:sequence maxOccurs="unbounded">
      ....
  </xs:sequence>
</xs:complexType>

有關更多信息,請參見http://www.w3schools.com/xml/el_sequence.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM