簡體   English   中英

如何在JSON響應中忽略(/隱藏)類的屬性

[英]How to ignore(/hide) attributes of class in JSON response

我是Java RESTful Web服務的新手。 我有如下的類結構:

    class BaseClass{
        String basicInfo; 
    }

    class DataClass extends BaseClass{
        String id;  
    }   

    class DataList extends BaseClass{
        List<DataClass> dataList;
    }

當我將DataList類作為Web服務的響應時,我以以下格式獲取它:

    {
        "basicInfo" : "Mandetory",
        "dataList"  : [
                {
                    "basicInfo" : "Optional",
                    "id" : "I_1001"                 
                },
                {
                    "basicInfo" : "Mandetory",
                    "id" : "I_1002"
                }
        ]

    }

但是我想忽略dataList的每個Data Object中的“ basicInfo”屬性。

恩。

{
        "basicInfo" : "Mandetory",
        "dataList"  : [
                {
                    "id" : "I_1001"                 
                },
                {
                    "id" : "I_1002"
                }
        ]

    }

有什么辦法可以忽略這些屬性(使用注釋)?

注意:我無法更改類結構。

@JsonIgnore

以上是您需要的注釋。 要獲得更多的變化,您可以通過以下鏈接 將上面的注釋添加到您要在傳輸對象中忽略的字段,解析時將忽略它。 既然您沒有提到要使用哪個庫來處理json,我已經使用Jackson Library回答了您的問題。

您可以使用JAX-B注解@XmlTransient你的屬性basicInfo

另外,當JSON-B(JSR 367)可用(Java EE 8)時,您可以使用@JsonbTransient或更好的@JsonbVisibility屬性。

暫無
暫無

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

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