2016-07-21 29 views
0

因此,作爲一個例子,在設計時從服務器返回的JSON時,這是更好的做法:在JSON中爲所有數據類型使用字符串是一個好主意嗎?

Approach1:返回值的正確類型:

{ 
    "id": 1, 
    "name": "A green door", 
    "price": 12.50, 
    "tags": ["home", "green"] 
} 

或者

Approach2:包裝紙全部雙引號中的值如下:

{ 
    "id": "1", 
    "name": "A green door", 
    "price": "12.50", 
    "tags": ["home", "green"] 
} 

哪種方法更好?每種方法的優缺點是什麼?是否有任何折衷?

+0

嘛,不就戰勝具有不同類型的呢?如果你處於一切都必須是字符串的情況,那麼顯然你會使用一個字符串。如果你不是,那麼你爲什麼? –

+1

取決於您是否需要數字,布爾值等或字符串。不,除了數字精度之外,我可以想象到字符串沒有什麼優勢,除了堆棧中給定的編程語言能夠處理的數字精度之外。 –

+0

最終,這是一個意見問題,或需要知道其使用的上下文。 –

回答

0

精度的損失是不利的。你扔掉了固有的意義。如果你根據你的應用程序更容易做到這一點,那就好了;只要知道你在做什麼。

+0

「精確度損失」是什麼意思? –

1

這是最好只使用實際字符串的報價,而不是爲任何其他類型,比如整數。

通過存儲的一切作爲一個字符串,解析JSON和期待一個int,但得到的字符串,而不是將拋出一個異常的任何應用程序。它還會對性能產生影響,因爲字符串比其他類型佔用更多的內存。

根據您可以關閉課程編寫或找到一個解析器,需要類型轉換的照顧,但它更容易只是使用引號如預期的情況。

所以,除非你有這個JSON提要到現有的應用程序,希望每個類型存儲爲一個字符串,我看不出有任何理由要使用引號所有類型。

相關問題