2012-05-10 31 views
5

więc w JavaScript mam tablicę patrzy się jak poniżej:Przechowywanie tablicy javascript zawierającej obiekty w bazie danych MYSQL?

[{x1 0 x2: 2000 r: 300}, {X1: 50 x 2: 250, Y: 500}]

I chciałbym zapisać go w jednym polu w mojej bazie danych. Myślałem o tym, czy w jakiś sposób utworzyć ciąg znaków, a następnie zapisać go jako tekst, ale tak naprawdę nie znam bardzo wydajnego i "inteligentnego" sposobu, aby to zrobić. Słyszałem również o typie pola VARBINARY, ale nie mam pojęcia, jak napisać i obiekt/tablica do jednego z nich i jak go odczytać ...

To, co ja bym najbardziej wolał, byłoby automatyczne być odczytanym jako tablica. Moje mysql-plugin (czy jakkolwiek to się nazywa w js) zwraca moje zapytania jako tablice obiektów takich jak:

[{id: 0, bla: "text"}, {id: 0, bla” tekst "}]

Dla zapytania w tabeli z identyfikatorem collumns i bla.

Dobrze, że moja tablica jest przechowywana w bla, chciałbym, aby obiekt wyglądał dokładnie tak jak teraz, gdy jest zwracany (jednak, jeśli to nie jest możliwe, mam się dobrze z alternatywnym rozwiązaniem).

[{id: 0, bla: [{x1: 0, x2: 2000, y: 300}, {x1: 50, x2: 250, y: 500}]}, {id: 0, bla: [{x1: 0, x2: 2000, y: 300}, {x1: 50, x2: 250, y: 500}]}]

Tak więc w zasadzie otrzymam tablicę zawierającą dwa obiekty, które mają właściwości bla i id, gdzie bla jest tablicą obiektów o właściwościach x1, x2 i y.

+0

To zależy od tego, co chcesz zrobić z wartością w bazie danych. Jeśli nie chcesz przesyłać zapytania do tego pola, możesz po prostu przekonwertować tablicę na JSON i zapisać ją jako tekst. Jeśli chcesz jednak tworzyć zapytania na danych, utwórz odpowiednie pola w tabeli. –

+1

Dlaczego po prostu nie możesz przechowywać tablicy tak jak w JSON? – jcolebrand

+0

To, czego szukasz, to [JSON] (http://json.org/) – Andreas

Odpowiedz

10

jakoś czyni go łańcuch, a następnie zapisanie go jako tekst, ale ja naprawdę nie wiem, bardzo wydajne i „inteligentny” sposób to zrobić.

Zapisz łańcuch jako JSON, podobnie jak to:

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

Później, gdy pojawi się ciąg JSON z powrotem z MySQL, można włączyć ją z powrotem do tablicy z JSON.parse(), jak poniżej:

var myArr = JSON.parse(myArrString) 

I tak, jeśli się zastanawiasz, funkcjonalność JSON została dodana do standardowej bazy kodu Javascript: tak popularna jest.

+0

Nigdy wcześniej nie zaglądałem do tego JSON-a, ale wydaje mi się to ciekawe, więc myślę, że mógłbym spróbować ... – Wingblade

+0

To takie proste, już powiedziałem ci wszystko, co musisz wiedzieć. :) –

+0

To naprawdę wszystko? Więc JSON ma tylko dwie funkcje JSON.stringify() i JSON.parse()? Ładnie i prosto, jak mi się to podoba. – Wingblade

Powiązane problemy