• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Wie kann ich mittels PHP folgende json Structur erstellen?

reinhhardp

New member
Hallo, ich möchte gerne mittels PHP die unten stehende json - Ausgabe erstellen. Ist das möglich? Und wenn ja wie? Wenn es nicht geht macht es auch nichts.

Danke,
Reinhard

HTML:
{
	"collection": {
		"items": 
		{
			"data": [
			  {
				"value": 150
			  },
			  {
				"value": 360
			  }
			],
			"data": [
				{
					"value": 33 
				},
				{ 
					"value": 55 
				}
			]
			
		}
		  
	}
}
 
Zuletzt bearbeitet von einem Moderator:
dann mußt du die PHP-Datenstruktur eben aus dem Datenbankergebnis erzeugen.

obwohl das bei dieser JSON-Struktur schwierig wird, das könnte allenfalls mit XML so funktionieren.
 
Bist du sicher, das du genau so eine Struktur wie die obige benötigst und nicht diese?
Code:
{  
   "collection":{  
      "items":[  
         {  
            "data":[  
               {  
                  "value":150
               },
               {  
                  "value":360
               }
            ]
         },
         {  
            "data":[  
               {  
                  "value":33
               },
               {  
                  "value":55
               }
            ]
         }
      ]
   }
}

Beachte die [ hinter items: . Dein JSON ist wohl valide, lässt sich aber nicht per json_decode konform in ein PHP-Objekt überführen. Wenn du genau deine obige Struktur benötigst, wirst du um ein Stringbasteln nicht rumkommen.

LG jspit
 
jspit: Du könntest Recht haben das Deine Struktur besser ist. Ich muss das Ganze mal probieren zu entwickeln.

lg, reinhard
 
Dafür kann es nützlich sein, den Jsonstring in ein Array zu wandeln und dieses dann als PHP-Quellcode auszugeben.
PHP:
$json = '{  
   "collection":{  
      "items":[  
         {  
            "data":[  
               {  
                  "value":150
               },
               {  
                  "value":360
               }
            ]
         },
         {  
            "data":[  
               {  
                  "value":33
               },
               {  
                  "value":55
               }
            ]
         }
      ]
   }
}';

$array = json_decode($json, true);

//Array als PHP-Quellcode ausgeben
echo '<pre>'.var_export($array,true).'</pre>';

Ausgabe:
Code:
array (
  'collection' => 
  array (
    'items' => 
    array (
      0 => 
      array (
        'data' => 
        array (
          0 => 
          array (
            'value' => 150,
          ),
          1 => 
          array (
            'value' => 360,
          ),
        ),
      ),
      1 => 
      array (
        'data' => 
        array (
          0 => 
          array (
            'value' => 33,
          ),
          1 => 
          array (
            'value' => 55,
          ),
        ),
      ),
    ),
  ),
)

LG jspit
 
Hallo jspit,

Die Ausgabe die Du da aufzeigst ist nicht das was ich will. Sie soll so sein wie ich sie angegeben habe. Ich will diese Daten dann in einer Tabelle mittels knockout bindings anzeigen. Ich weiß das so etwas geht, aber leider nicht mehr wie. Z.Z. bin ich am probieren, nach dem Motto "try und error". Ich habe ja Zeit! :)

lg,
Reinhard
 
Deine Sturktur wird aber auch in JS nicht so eingelesen, wie du es gerne hättest... das zweite "data" überschreibt das erste.
 
Zurück
Oben