| |
|
|
Michael W. | Wenn man nur kleine Json-Objekte/Listen von einem Programmteil zum anderen weiterreichen möchte, dann ist Create("Json" eigentlich etwas umständlich.
Da würde ich mir das Json.Parse() wünschen.
Es geht natürlich auch so
cls /* js& = Json("Parse", jsonstring$) Hier wird Create("Json",filename$) verwendet um einen String in ein Json-Objekt oder eine Json-Liste zu verwandeln. Die Datei wird dabei gleich wieder entfernt. js ist die ID des Json-Objektes. Ob es geklappt hat: if(js&,"I'm happy","That's ugly") // Abfrage klappt bei Json("Parse",s) und bei Create("Json",fn$) */ SubProc Json.Parse1 Parameters string jsonstring Declare string s, Dateiname, Inhalt, long js s = Translate$(dt("getDate",5)," ","_") s = Translate$(s,",","_") s = Translate$(s,":","_") s = Translate$(s,"+","p") s = Translate$(s,"-","m") s = Translate$(s,"__","_") MkDir "C:\\Temp" Case %ioresult <> 0 : js = 0 Dateiname = "C:\\Temp\\JSON_" + s + ".json" ' print "Datei:",Dateiname // Datei im temp. Verzeichnis erstellen Case %ioresult <> 0 : js = 0 Assign #9, Dateiname Case %ioresult <> 0 : js = 0 Rewrite #9 Case %ioresult <> 0 : js = 0 // gewünschten Json-String in Datei schreiben Inhalt = Utf8Encode(jsonstring + "\n") print #9, Inhalt // Case %ioresult <> 0 : js = 0 Close #9 Case %ioresult <> 0 : js = 0 Sleep 100 // Json-Objekt aus dem String "jsonstring" erstellen js = Create("Json",Dateiname) Case %ioresult <> 0 : fh = 0 Sleep 100 // Datei wieder entfernen (oder zur Kontrolle behalten) ' Erase #9 Case %ioresult <> 0 : fh = 0 Return js // die ID des Objektes bzw. der Liste zurückgeben EndProc // Declare long js, cnt, string s
s = "{\qr\q:255, \qg\q:160, \qb\q:80}"
js = Json("Parse1",s) print "js:",js cnt = Json("Count", js) print "count:",cnt print "zu parsen:",s print "Ergebnis:" WhileLoop 0, cnt - 1 print " ",Json("Name", js, &loop),":", Json("Value", js, &loop) EndWhile print "Objekt:",Json("Text",js,0),"\n" waitkey end
Kleinen Test angefügt.
Dieses kurze Beispiel geht ja noch, aber etwas länger ist ein einfacher String besser.
|
|
|
| System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 18.11.2020 ▲ |
|
|
|