2012-05-10 14 views
5

तो जावास्क्रिप्ट में मैं एक सरणी है कि इस तरह के बारे में दिखता है:एक जावास्क्रिप्ट सरणी संग्रहीत करना जिसमें एक MYSQL डेटाबेस में ऑब्जेक्ट्स हैं?

[{x 1: 0, x2: 2000, वाई: 300} {x 1: 50, x2: 250, वाई: 500}]

और मैं इसे अपने डेटाबेस में एक ही फ़ील्ड में स्टोर करना चाहता हूं। मैंने सोचा कि किसी भी तरह से इसे एक स्ट्रिंग बना रहा है और फिर इसे पाठ के रूप में सहेज रहा है, लेकिन मुझे वास्तव में ऐसा करने के लिए एक बहुत ही कुशल और "स्मार्ट" तरीका नहीं पता है। मैं भी VARBINARY फ़ील्ड प्रकार के बारे में सुना है, लेकिन मैं पता नहीं कैसे उन में से एक है और कैसे इसे बाहर पढ़ने के लिए में लिख सकते हैं और वस्तु/सरणी के लिए है ...

क्या मैं सच में सबसे पसंद करेंगे, तो यह स्वचालित रूप से होता होगा एक सरणी के रूप में पढ़ा जाना चाहिए।

[{आईडी:: 0, bla: "पाठ"}, {आईडी: 0, bla: मेरी MYSQL-प्लगइन (या तथापि कि js में कहा जाता है) मेरे प्रश्नों अच्छी तरह से वस्तुओं की तरह सरणियों के रूप में देता है " पाठ "}]

कॉलम आईडी और ब्लै के साथ एक तालिका में एक प्रश्न के लिए।

अच्छी तरह से कहें कि मेरी सरणी ब्लै में संग्रहीत है, मैं चाहता हूं कि ऑब्जेक्ट मुझे वापस लौटने पर सही तरीके से दिखने लगे (हालांकि यदि यह संभव नहीं है तो मैं वैकल्पिक समाधान के साथ ठीक हूं)।

[{आईडी: 0, bla: [{x 1: 0, x2: 2000, वाई: 300} {x 1: 50, x2: 250, वाई: 500}]}, {आईडी: 0, bla: [{x 1: 0, x2: 2000, वाई: 300} {x 1: 50, x2: 250, वाई: 500}]}]

तो बुनियादी तौर पर मैं दो वस्तुओं से युक्त एक सरणी मिलेगा, जिसमें प्रत्येक में गुण bla और id है, जहां bla गुण x1, x2 और y के साथ ऑब्जेक्ट्स की एक सरणी है।

+0

यह इस बात पर निर्भर करता है कि आप डेटाबेस में मूल्य के साथ क्या करना चाहते हैं। यदि आप उस फ़ील्ड से क्वेरी नहीं करना चाहते हैं, तो आप सरणी को JSON में कनवर्ट कर सकते हैं और उसे टेक्स्ट के रूप में स्टोर कर सकते हैं। यदि आप डेटा पर प्रश्न पूछना चाहते हैं, तो तालिका में उचित फ़ील्ड बनाएं। –

+1

जेएसओएन के रूप में आपने सरणी को क्यों स्टोर नहीं किया है? – jcolebrand

+0

जो आप खोज रहे हैं वह है [JSON] (http://json.org/) – Andreas

उत्तर

10

किसी भी तरह यह एक स्ट्रिंग बनाने और फिर पाठ के रूप में सहेजने के लिए, लेकिन मैं वास्तव में ऐसा करने के लिए एक बहुत ही कुशल और "स्मार्ट" जिस तरह से पता नहीं है।

JSON के रूप में स्ट्रिंग सहेजें, इस तरह:

var myArr = [{x1:0,x2:2000,y:300},{x1:50,x2:250,y:500}]; 
myArrString = JSON.stringify(myArr); 

बाद में, जब आप JSON स्ट्रिंग MySQL से वापस पाने के, आप इसे वापस JSON.parse() साथ, बदल सकते हैं एक सरणी में इस तरह:

var myArr = JSON.parse(myArrString) 

और हाँ, आप सोच रहे हैं कि, JSON कार्यक्षमता जावास्क्रिप्ट के मानक codebase में जोड़ा गया है: यह है कि यह कैसे लोकप्रिय है।

+0

पहले कभी इस JSON में कभी नहीं देखा था, लेकिन यह दिलचस्प लगता है इसलिए मुझे लगता है कि मैं इसे आज़मा सकता हूं ... – Wingblade

+0

यह इतना आसान है, मैंने आपको पहले ही बताया है कि आपको जो कुछ जानने की जरूरत है। :) –

+0

यह वास्तव में सबकुछ है? तो JSON में केवल दो कार्य JSON.stringify() और JSON.parse() हैं? अच्छा और सरल, बस मुझे यह कैसा लगता है। – Wingblade

संबंधित मुद्दे