我正在收集來自網頁訪問者的數據並將其放入我創建的JavaScript對象中。但後來我希望能夠引用他們輸入的數據。我可以將JavaScript對象存儲在mySQL數據庫中嗎?
我有權訪問MySQL數據庫,那麼有沒有辦法讓我在這裏存儲這個對象?
我想嘗試將它保留在對象格式中,而不是將它分解爲單獨的部分。
我正在收集來自網頁訪問者的數據並將其放入我創建的JavaScript對象中。但後來我希望能夠引用他們輸入的數據。我可以將JavaScript對象存儲在mySQL數據庫中嗎?
我有權訪問MySQL數據庫,那麼有沒有辦法讓我在這裏存儲這個對象?
我想嘗試將它保留在對象格式中,而不是將它分解爲單獨的部分。
只需使用varchar或文本數據類型將其作爲JSON對象存儲在字段中即可。
不,你不能,至少不會。
您可能會將其串行化爲字符串。如果它完全由數組,簡單對象和JSON format支持的其他數據類型組成(如果它是用戶提供的數據(如果二進制文件上傳時是主要異常),它可能會執行此操作),那麼您可以使用JSON序列化器來這樣做。現代瀏覽器爲此提供JSON object,json2.js將爲舊版瀏覽器填充。然後您可以將該字符串存儲在數據庫中。
不把它分解成單獨的部分確實會拋棄使用關係數據庫的許多優點(即關係和執行有用搜索的能力)。
在數據庫中存儲您的對象的JSON.stringified
版本,然後JSON.parse
當您希望對象再次返回時。它看起來像這樣:
var myObj = {some: data, other: stuff};
var myObjString = JSON.stringify(myObj);
// store string in mySQL database here
// load string from database
var myJSONString = //mySQL database call
var myLoadedObj = JSON.parse(myJSONString);
您可以添加'<! - language:lang-js - >'讓SO系統知道應該使用哪種語言突出顯示。 – lonesomeday
哦,好吧,很酷。謝謝。 –
您可以序列化對象並將其存儲在數據庫中。 – Quantastical
爲什麼要存儲對象?爲什麼不直接存儲價值? – Limey