2016-12-05 84 views
1

假設我有這個打字稿定義的類:Can Typescript可以與Json區分大小寫屬性匹配嗎?

class Data{ 
    Dimension1: string; 
    Dimension2: string; 
    Metrics: Array<string>; 
} 

有沒有一種方法可以讓我申報Data實例與以下(小寫屬性)JSON數據?

let json: Data = { 
    "dimension1": "some dim", 
    "dimension2": "some other dimes", 
    "metrics": ["metric1", "metric2"] 
} 

目前,編譯器會抱怨Type的屬性不兼容。

+5

不會。這會有用嗎? JS密鑰名稱區分大小寫。 –

回答

0

有沒有辦法做到這一點。你應該這樣做嗎?

如果你想知道但

let json: Data = <Data> { 
    "dimension1": "some dim", 
    "dimension2": "some other dimes", 
    "metrics": ["metric1", "metric2"] 
} 

這將讓你做你想要的。我再次不會這樣做。 如果您想要更好的選擇,您可以讓我知道。 如果這個答案有用,請勾選此答案。

+0

但在這種情況下,當OP試圖訪問'json'上的任何大寫屬性時,它只會導致'未定義'。這將如何有用?他可能會拋出一個空的對象到'Data' –

+1

你讀了我的第一行嗎?有沒有辦法做到這一點。你應該這樣做嗎?這是不這麼做的明顯原因。我甚至留下了一句話,說如果你想要更多的選擇,更好的選擇讓我知道。 有什麼更多的,你會希望我做得更好。這是不是回答他的問題,告訴他這是一個錯誤的方向,並提供進一步的幫助,以防他遇到其他問題。我更應該做什麼? –

+0

是的,你是對的。 Typescript鼓勵有駱駝命名約定。 –

相關問題