Aktuelle Zeit: 22.01.2018 07:59

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ExtractJSONStructure mit einem Array an JSON Objekten
BeitragVerfasst: 24.09.2017 17:04 
Offline
Benutzeravatar

Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Hallo Zusammen,

ich habe eine Frage bzgl. der ExtractJSONStructure Funktion.

Wie verwende ich die Funktion wenn ich ein Array an JSON Objekten in eine Structure packen möchte?

Folgender Code ( mit einem JSON Array ) gibt kein Inhalt aus. Habe ich nur ein JSON Objekt als String zum parsen, funktioniert das ganze.

Code:
Structure af
    sku.s
EndStructure
 
ParseJSON(1,"[{"+Chr(34)+"sku"+Chr(34)+":"+Chr(34)+"retoure"+Chr(34)+"},{"+Chr(34)+"sku"+Chr(34)+":"+Chr(34)+"test"+Chr(34)+"}]")
Debug ComposeJSON(1, #PB_JSON_PrettyPrint)
ExtractJSONStructure(JSONValue(1), @D.af, af)

Debug D\sku


Code:
{
  "sku": "retoure"
}


Array:
Code:
[
  {
    "sku": "retoure"
  },
  {
    "sku": "test"
  }
]

Besten Dank


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExtractJSONStructure mit einem Array an JSON Objekten
BeitragVerfasst: 24.09.2017 19:22 
Offline
Benutzeravatar

Registriert: 21.08.2006 17:39
Hi,

dein Beispiel kann gar nicht funktionieren. ExtractJSONStructure() versucht die JSON Daten in einen Speicher gleichen Aufbaus (Struktur,...)
zu packen. Bei einem Element ist die Zuordnung zu deiner Variable D eindeutig; PB interpretiert die Daten als einen nativen Datentyp.

Bei mehreren Elementen müsste folglich D selbst ein Array sein:
Code:
Structure af
  sku.s
EndStructure
 
ParseJSON(1,"[{"+Chr(34)+"sku"+Chr(34)+":"+Chr(34)+"retoure"+Chr(34)+"},{"+Chr(34)+"sku"+Chr(34)+":"+Chr(34)+"test"+Chr(34)+"}]")
Debug ComposeJSON(1, #PB_JSON_PrettyPrint)

Dim D.af(JSONArraySize(JSONValue(1)))

For x = 0 To JSONArraySize(JSONValue(1))-1
  ExtractJSONStructure(GetJSONElement(JSONValue(1), x), @D(x), af)
Next

Debug D(0)\sku
Debug D(1)\sku


Angenommen, du wolltest alles unter \sku packen, kannst du nicht auf ExtractJSONStructure() zurückgreifen.
\sku hat den Datentyp String und entspricht somit nichtmehr der JSON Struktur:

Code:
Structure af
  Array sku.s(1)
EndStructure

...
ExtractJSONStructure(JSONValue(1), D\sku(), af)    ;<< hier würden lauter "sku" (JSON) nach \sku\s (PB) geschrieben - passt nicht



MFG
MIB

_________________
(hab alles, kann alles, weiß alles!!^^)

Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExtractJSONStructure mit einem Array an JSON Objekten
BeitragVerfasst: 24.09.2017 20:13 
Offline
Benutzeravatar

Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Super, vielen Dank, ist damit gelöst ;) Einfacher Logikfehler ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 7 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye