2015-06-29 149 views
0

這是更好的如何存儲JSON在數據庫

{"details":{"number":"8","date":"29/06/2015","due_date":"06/07/2015"}, 

或者這一個:

%7B%22details%22%3A%7B%22number%22%3A%228%22%2C%22date%22%3A%2229%2F06%2F2015%22%2C%22due_date%22%3A%2206%2F07%2F2015%22 

到存儲在數據庫中?

謝謝。

回答

1

URI編碼值是完全沒有意義的。只需將它作爲JSON字符串存儲,不需要任何編碼,因爲JSON已經是一種編碼格式。

URI編碼應該 URI的。它沒有其他適用性。如果您確實需要編碼,無論出於何種原因,請使用像Base64這樣的標準。

請記住,你要保持值這樣儘可能地易讀,不要隨意搶他們。

+0

我在想多字節字符串,這就是爲什麼我編碼它。你說的沒意思嗎? – inrob

+0

JSON應該是UTF-8,所以請確保您的數據庫和列也是如此。 – tadman

+0

請注意,如果您想要編碼表情符號類型的字符,您可能需要使用'utf8mb4'。這需要MySQL 5.5.4或更高版本。 – tadman

0

要回答你的問題,第一個選擇,因爲你可以閱讀它容易得多,如果你查找錯誤。

要走遠一點。如果您需要使用JSON結構化數據的工作,想想使用OR映射器numberdate and DUE_DATE in separate columns in a table called details`的安全值。

+0

這些值將永遠不會被讀取。他們將很少被檢索,並將用php解碼。 – inrob