Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSON响应中忽略(/hide)类的属性_Java_Json_Rest - Fatal编程技术网

Java 如何在JSON响应中忽略(/hide)类的属性

Java 如何在JSON响应中忽略(/hide)类的属性,java,json,rest,Java,Json,Rest,我不熟悉Java RESTful web服务。我的课程结构如下: class BaseClass{ String basicInfo; } class DataClass extends BaseClass{ String id; } class DataList extends BaseClass{ List<DataClass> dataList; } 但我想忽略da

我不熟悉Java RESTful web服务。我的课程结构如下:

    class BaseClass{
        String basicInfo; 
    }

    class DataClass extends BaseClass{
        String id;  
    }   

    class DataList extends BaseClass{
        List<DataClass> dataList;
    }
但我想忽略dataList的每个数据对象中的“basicInfo”属性

是否有任何方法可以忽略这些属性(使用注释)

注意:我不能更改类结构

@杰索尼奥雷


以上是您需要的注释。要了解更多这方面的变化,您可以通过以下步骤。将上述注释添加到您希望在传输对象中忽略的字段中,解析时将忽略该注释。由于您没有提到使用哪个库来处理json,我已经回答了您的问题使用Jackson库

您可以在属性
basicInfo
上使用JAX-B注释
@XmlTransient


或者,当JSON-B(JSR 367)可用时(Java EE 8),您可以使用
@JsonbTransient
,或者更好的是,使用
@JsonbVisibility
属性。

您使用的是什么库或工具?(杰克逊?还有别的事吗?)。请编辑您的问题并添加这些详细信息。这要求OP必须使用Jackson进行JSON绑定。@BuhakeSindi是的,没错。这就是为什么我提到他要浏览链接,以便他了解什么适合他。我建议提前告诉OP,以防将来链接过时。
    {
        "basicInfo" : "Mandetory",
        "dataList"  : [
                {
                    "basicInfo" : "Optional",
                    "id" : "I_1001"                 
                },
                {
                    "basicInfo" : "Mandetory",
                    "id" : "I_1002"
                }
        ]

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

    }