1
我正在爲angular創建一個小模塊,並且我遇到了檢查我的JSON.parsed數據(如果它們正確)的情況。正確驗證TypeScript中的JSON.parsed數據
read(): Position|null {
try {
...
let parsedData = JSON.parse(data);
if (parsedData && parsedData.x && parsedData.y)
return new Position(parsedData.x, parsedData.y);
} catch (e) {
...
}
return null;
}
好像不是一個很好的解決方案我,好像有一個在我以前字符串化的對象更多的屬性,然後我需要檢查他們中的每一個。我也不確定當分析數據是null
時會發生什麼。是否有任何其他解決方案來檢查特定數據?由於
這似乎是一個非常合理的解決方案。你關心什麼?如果你正在解析的JSON有其他字段,它不會影響你上面寫的邏輯。而且你將解析包裝在一個try-catch中,它也應該處理任何格式不正確的JSON情況。 – Sal
我很擔心未來會更改以JSON存儲的對象。如果我需要更改對象並期望解析對象具有更多屬性,那麼我需要檢查每個屬性是否已設置。我正在考慮檢查分析數據的實例,但它可能不起作用,因爲當我將Position對象字符串化,然後解析它不再是Position的實例時,我是對的嗎? –
如果你的json字符串已經是一個序列化的Position對象,你實際上不需要做任何檢查。您可以**返回JSON.parse(數據)作爲位置** – Sal