Mysql Json Spalte decode
Henry
- mysql
- php
0 Auge
Hallo,
eine SQL Ausgabe einer Tabelle liefert mir die notwendigen Spalten, wie zb. ID, Name, Beschreibung, usw…
Leider aber auch eine Spalte mit Inhalt im Json-Format. Ich behelfe mir dann indem ich diese Spalte durch PHP aufschlüssele, so dass ich dann wieder eine Extra-Tabelle(CSV) erhalte.
Lieber wäre mir natürlich, wenn ich das bereits bei der MySql Abfrage in einem Rutsch erledigen könnte. Geht das und wie müsste ich da vorgehen?
Hier mal eine Auszug aus dem Jsonstring:
{"@context":"http:\/\/schema.org","@type":"Recipe","name":"Flammkuchen aus einer Brezel","datePublished":"2020-12-07","description":"Das perfekte Resteessen. Einfach \u00fcbrig gebliebenes Gem\u00fcse als Belag nutzen.","totalTime":"PT0S","recipeIngredient":["Eine TK Brezel oder Laugenstange","","50 g Butternussk\u00fcrbis ","","50 g Frischk\u00e4se 0,2% Fett","","30 g Feta mit weniger Fett","","Optional Zwiebeln","","Salz und Pfeffer"],"recipeInstructions":[{"@type":"HowToStep","text":"TK Brezel auftauen lassen oder f\u00fcr ein paar Sekunden in die Mikrowelle geben","position":1,"name":"TK Brezel auftauen lassen oder f\u00fcr ein paar...","url":"#mv_create_5_1"},{"@type":"HowToStep","text":"Den aufgetauten Teig zu einem Ball kneten und zu einem Teig ausrollen","position":2,"name":"Den aufgetauten Teig zu einem Ball kneten und...","url":"#mv_create_5_2"},{"@type":"HowToStep","text":"Nun kommen wir zum Belag und hier kann man seiner Kreativit\u00e4t freien Lauf lassen. EInfach mit dem Frischk\u00e4se bestreichen und mit den restlichen Zutaten belegen","position":3,"name":"Nun kommen wir zum Belag und hier kann...","url":"#mv_create_5_3"},{"@type":"HowToStep","text":"Anschlie\u00dfend f\u00fcr 15-20 Minuten bei 180 Grad in den Backofen geben","position":4,"name":"Anschlie\u00dfend f\u00fcr 15-20 Minuten bei 180 Grad in...","url":"#mv_create_5_4"}],"nutrition":{"@type":"NutritionInformation","calories":"283 calories","carbohydrateContent":"43 grams carbohydrates","fatContent":"4 grams fat","proteinContent":"18,5 grams protein"}}
Gruss
Henry
Hallo
eine SQL Ausgabe einer Tabelle liefert mir die notwendigen Spalten, wie zb. ID, Name, Beschreibung, usw…
Leider aber auch eine Spalte mit Inhalt im Json-Format. Ich behelfe mir dann indem ich diese Spalte durch PHP aufschlüssele, so dass ich dann wieder eine Extra-Tabelle(CSV) erhalte.
Lieber wäre mir natürlich, wenn ich das bereits bei der MySql Abfrage in einem Rutsch erledigen könnte. Geht das und wie müsste ich da vorgehen?
Gleich das (bei mir) erste Suchergebnis sieht passend aus. Allerdings fehlt, wie auch bei der MySQL-eigenen Doku, die Information, ab welcher MySQL-Version die Funktion JSON_EXTRACT
vorhanden ist [1]. Allerdings musst du angeben, welche Schlüssel und Werte du aus dem Objekt herauslösen willst. Du musst also die Struktur des JSON-Objekts kennen.
Tschö, Auge
Wenigstens das ist in der MS-SQL-Doku (für die aktuell unterstützten Versionen) besser gelöst. ↩︎