JsonPath Array in einem anderem Array

  • Antworten:6
Ritter Julian
  • Forum-Beiträge: 5

13.01.2015, 09:16:39 via Website

Hallo, ich habe folgendes Problem, ich hoffe dass mir jemand dabei weiterhelfen kann:
Ich nutze JsonPath um eine SQlite Datenbank aus einem Json-File zu füllen.
das Json File ist wie folgt aufgebaut:
content[
0{ name, teaser, id, dates[0{date0},1{date1}...]}
1{ name, teaser, id, dates[0{date0},1{date1}...]}
]

alle Daten bis auf die dates habe ich eingefügt.
Mein Problem ist jetzt: Wie kann ich die dates in die SQlite Datenbank einfügen?
Hoffe mir kann jemand dabei helfen!
Viele Grüße

Antworten
Sven R.
  • Forum-Beiträge: 1.904

13.01.2015, 13:55:06 via App

Du meinst wahrscheinlich, wie du die Daten in der Datenbank unterbringen kannst.
Ich bin kein Spezialist auf diesem Gebiet, ich würde aber vorschlagen, für jedes date einen Eintrag zu machen. In diesem Eintrag ist das date und die id zum jeweiligen dazugehörenden anderen (Sub) Eintrag. Zwei Datenbanken wären nötig.

— geändert am 13.01.2015, 13:56:13

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

13.01.2015, 16:59:20 via Website

Wie sehen denn der Sting der Dates aus?
ist das ein genz normal Formatiertes Datum?
Wenn ja im Json hast du es auch als String, also kannst du einfach einen Komma/Semikolon etc. Seperated text den du dann duch ein Split wieder in ein Array schiebst.

Ich würde allerdings auch eine 2. Tabelle bevorzugen, ist mit Selectabfragen und vielleicht der performance besser.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Ritter Julian
  • Forum-Beiträge: 5

14.01.2015, 09:09:10 via Website

Intern sehen die Dates dann wie folgt aus:

"dates": [
              {
                "starts_at": "2015-01-12 11:00:00",
                "ends_at": "2015-01-12 12:00:00",
                "has_end_date": "0",
                "has_tickets": "0",
                "ticket_quantity": null,
                "is_sold_out": "0",
                "use_start_time": "1",
                "use_end_time": "0",
                "updated_at": "2014-11-14 11:08:57",
                "created_at": "2014-11-14 11:08:06"
              },
              {
                "starts_at": "2015-01-31 11:00:00",
                "ends_at": "2015-01-31 11:00:00",
                "has_end_date": "0",
                "has_tickets": "0",
                "ticket_quantity": null,
                "is_sold_out": "0",
                "use_start_time": "1",
                "use_end_time": "0",
                "updated_at": "2014-11-14 11:08:57",
                "created_at": "2014-11-14 11:08:06"
              }

usw..

Vorerst benötige ich nur die starts_at Information pro Datum, wahrscheinlich wird es auch dabei bleiben.
Wie würdet ihr denn die zweite Tabelle aussehen lassen?
Die erste sieht wie folgt aus:
Name | id | Adresse | usw.
Veranstaltung1 | 147 | Adresse1
...
Von Veranstaltung zu Veranstaltung zu Veranstaltung stehen unterschiedlich viele Daten in der Datenbank.
Viele Grüße
Julian

Antworten
Sven R.
  • Forum-Beiträge: 1.904

14.01.2015, 14:09:29 via App

Die zweite ungefähr so:

Natürlich id, end at, start at, ... und die id von der Veranstaltung.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten
Ritter Julian
  • Forum-Beiträge: 5

23.01.2015, 10:53:27 via Website

Vielen Dank für die Information mit der zweiten Tabelle, das habe ich jetzt so gemacht! Melde mich sobald es nochmal fragen gibt ;)

Antworten
Sven R.
  • Forum-Beiträge: 1.904

23.01.2015, 15:31:58 via App

Performancemäßig sollte das optimal sein. Kannst ja mal bei ungefähr 5000 Random Einträgen berichten.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten