2012-05-10 7 views
5

So in javascript Ich habe ein Array, das wie folgt aussieht über:Speichern eines Javascript-Arrays, das Objekte in einer MYSQL-Datenbank enthält?

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

Und ich möchte es in einem einzigen Feld in meiner Datenbank speichern. Ich dachte darüber nach, es irgendwie zu einer Zeichenkette zu machen und es dann als Text zu speichern, aber ich weiß nicht wirklich eine sehr effiziente und "intelligente" Art, das zu tun. Ich habe auch vom VARBINARY-Feldtyp gehört, aber ich habe keine Ahnung, wie man in eine davon schreibt und wie man sie liest und wie man sie liest ...

Was ich am meisten bevorzugen würde wäre, wenn es automatisch wäre als ein Array gelesen werden. Meine MYSQL-Plugin (oder aber, dass in js genannt wird) gibt meine Fragen als Arrays von Objekten, wie gut:

[{id: 0, bla: "text"}, {id: 0, bla:“ Text "}]

Für eine Abfrage in einer Tabelle mit den Spalten id und bla.

sagen Nun, mein Array in bla gespeichert ist, würde ich das Objekt, das ich genau wie dieses Recht zu sehen bekommen, wenn es zurückgegeben wird (aber wenn das nicht möglich ist, ich bin gut mit einer alternativen Lösung).

[{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}]}]

Also im Grunde möchte ich ein Array mit zwei Objekten erhalten, welche jeweils die Eigenschaften bla und id haben, wobei bla eine Anordnung von Objekten mit den Eigenschaften x1, x2 und y ist.

+0

Es hängt davon ab, was Sie mit dem Wert in der Datenbank tun möchten. Wenn Sie dieses Feld nicht abfragen möchten, können Sie das Array einfach in JSON konvertieren und als Text speichern. Wenn Sie jedoch Abfragen für die Daten durchführen möchten, erstellen Sie in der Tabelle geeignete Felder. –

+1

Warum können Sie das Array nicht wie JSON speichern? – jcolebrand

+0

Was Sie suchen, ist [JSON] (http://json.org/) – Andreas

Antwort

10

es irgendwie einen String zu machen und dann als Text speichern, aber ich weiß nicht wirklich eine sehr effiziente und „intelligente“ Art und Weise, das zu tun.

die Zeichenfolge als JSON, wie dies sparen:

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

Später, wenn Sie die JSON-String zurück von MySQL erhalten, können Sie es zurück in ein Array mit JSON.parse(), wie folgt drehen:

var myArr = JSON.parse(myArrString) 

Und ja, wenn Sie mich fragen, JSON-Funktionalität hat Javascript-Standardcodebasis hinzugefügt: das ist, wie beliebt es ist.

+0

Hatte noch nie zuvor in diesem JSON geschaut, aber es scheint interessant, also könnte ich es versuchen ... – Wingblade

+0

Es ist so einfach, ich habe dir schon alles gesagt, was du wissen musst. :) –

+0

Das ist wirklich alles? JSON hat also nur die beiden Funktionen JSON.stringify() und JSON.parse()? Schön und einfach, wie ich es mag. – Wingblade

Verwandte Themen