2010-07-23 74 views
2

我們正在構建一個消耗和生成JSON的web服務。標準JSON表示

問題: 我們對如何表示對象的某些特定細節感到困惑。

例子:我們指定JSON

任何空元素或空元素爲空,我們要求我們的自我是我們如何代表一個對象時,它的屬性都是空的問題。例如:汽車是一個物體,顏色和製造屬性,它們是空的。

我們代表它作爲

car : { 
    "color": null, 
    "make" : null 
} 

一些人認爲它應該被表示爲

car : null 

因此,可以說,汽車:空是做正確的方式。汽車並不是域對象的確切表示。它是一個域對象,讓我們稱它爲大汽車。所以我們用某種翻譯器製作汽車視圖對象。因此,我們發現檢查汽車對象中每個字段的痛苦方法,如果它們爲null,那麼將汽車設置爲空,所以傑克遜jaxb提供程序可以將其渲染爲空。我知道這不是正確的做法。

任何人都可以提出一個替代?

是否有一個地方我們可以檢查,是否有任何視圖對象與所有兒童null?然後將其設置爲null。

哪種方式更易消耗?

回答

4

如果我理解正確,有三種不同的情況,您試圖表示。一個是沒有汽車,另一個是有一輛汽車,但我們對此一無所知,最後一個是有一輛汽車,我們知道它的一些事情(也許是關於它的一切)。因此,有三種可能的情況:

(1)裏卡多沒有車

'ricardo': { 
    'car': null 
} 

(2)裏卡多擁有汽車,但我們不知道它

'ricardo' : { 
    'car' : { 
    'color' : null, 
    'make' : null 
    } 
} 

什麼(3)裏卡多擁有汽車,我們瞭解一下它(或一切)

'ricardo' : { 
    'car' : { 
    'color' : 'red', 
    'make' : 'ferrari' 
    } 
} 

你需要確定你需要什麼莫del並相應地進行表示。請參閱here以獲取最終參考。

+0

嗨marimon, 可以說汽車是大車的子對象。我對這輛大車有所瞭解,但是我想要一輛車的想法並不在大車裏。這可以表示爲第二種方法嗎?這就是我們正在做的.. 但是,是嗎? 而且我們如何檢查我們對汽車沒有任何瞭解? 它不能像一個非空檢查序列...有沒有其他有效的方法? – 2010-07-24 16:18:15