Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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表示_Java_Web Services_Json_Jaxb - Fatal编程技术网

Java 标准JSON表示

Java 标准JSON表示,java,web-services,json,jaxb,Java,Web Services,Json,Jaxb,我们正在构建一个使用和生成JSON的Web服务 问题: 对于如何表示对象的某些特定细节,我们有些困惑 示例:我们在JSON中将任何空元素或null元素指定为null 我们问自己的问题是,当一个对象的属性都为空时,我们如何表示它 示例:car是一个对象,color和make是属性,它们为null 我们将其表示为 car : { "color": null, "make" : null } 有些人认为它应该被表示为 car : null 比如说,car:null是正确的方法。ca

我们正在构建一个使用和生成JSON的Web服务

问题: 对于如何表示对象的某些特定细节,我们有些困惑

示例:我们在JSON中将任何空元素或null元素指定为null

我们问自己的问题是,当一个对象的属性都为空时,我们如何表示它

示例:car是一个对象,color和make是属性,它们为null

我们将其表示为

car : {
    "color": null,
    "make" : null
}
有些人认为它应该被表示为

car : null
比如说,car:null是正确的方法。car不是域对象的精确表示。它是一个域对象的一部分,让我们称之为大汽车。所以我们在某种翻译器中创建汽车视图对象。因此,我们找到了一种痛苦的方法来检查car对象中的每个字段,如果它们为null,则将car设置为null,以便jacksonjaxb提供者可以将其呈现为null。我知道这样做不对

有人能提出一个替代方案吗

是否有一个地方我们可以检查,是否有任何视图对象的所有子对象都为空??然后将其设置为null


哪种方式更容易消耗品???

如果我理解正确的话,您试图表示三种不同的情况。一个是没有汽车,另一个是有一辆汽车,但我们对它一无所知,最后一个是有一辆汽车,我们对它有所了解(也许一切都了解)。因此,有三种可能的情况:

(1) 里卡多没有车

'ricardo': {
  'car': null
}
(2) 里卡多有一辆车,但我们对此一无所知

'ricardo' : {
  'car' : {
    'color' : null,
    'make' : null
   }
 }
(3) 里卡多有一辆车,我们对它(或一切)有所了解


您需要确定建模所需的内容,并相应地进行表示。查看最终参考。

嗨,marimon,假设汽车是big car的子对象。我对这辆大轿车有些了解,但我想要的不是这辆大轿车。这可以表示为第二种方法吗??这就是我们正在做的。。但是,是这样吗?还有,我们如何检查我们对这辆车一无所知?它不能像一系列非空检查。。。还有其他有效的方法吗?
'ricardo' : {
  'car' : {
    'color' : 'red',
    'make' : 'ferrari'
   }
}