2015-06-29 186 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