+ bugfix: leere Arrays "[]" sind nun möglich
+ bugfix: Backslashes in Strings führt nun nicht mehr zu Abstürzen
+ geändert: JSON_newObject() ist nur noch zum initialisieren eines leeren Json-Objekts
+ geändert: JSON_free() ist nun ein Macro
+ hinzugefügt: Macro JSON_newPair() (früheren JSON_newObject(), siehe Beispiel)
+ hinzugefügt: JSON_clear()
+ verbessert: JSON_dimArray() und JSON_newObject() resetten nun das übergebene Objekt
JSON_dimArray() und JSON_newObject() rufen nun bei bereits benutzten
Strukturen JSON_clear() auf. Es wurden aber keine umfangreichen Tests
durchgeführt. Ich hab leider keine Zeit und bisher keinen Nutzen für JSON,
sorry. Bitte fleißig testen und evt. Probleme melden.
Wichtig:
Information für alle, die das alte JSON_newObject() (bis 03.05.2011)
nutzen und auf die neuste Version (ab 15.10.2011) aktualisieren wollen.
Die Änderung ist vorallem kosmetischer Natur, damit der resultierende
Code lesbarer ist. JSON_newObject() hat tatsächlich in erster Linie
Name/Wert-Paare erstellt. Lediglich der erste Aufruf für ein Objekt hat
dieses auch initialisiert. Wer auf diese Funktion aufgebaut hat, kann
einfach alle Quellcodes durchlaufen lassen und JSON_newObject() mit
JSON_newPair() austauschen. JSON_newPair() wird in Zeile 601
definiert. Der dort auskommentierete aufruf "Zeile 602: ;JSON_newObject()"
muss einkommentiert werden. Nun macht JSON_newPair() genau
das gleiche, wie vorher JSON_newObject(). Wer seinen Code lieber
lesbarer und noch nicht so viele Zeilen Code hat, der beachte das
Beispiel, wie die zwei Befehle nun zu nutzen sind.
(Beispiel zu JSON_newObject() und JSON_newPair())
Code: Alles auswählen
#JSON_UseObjectPointer = #True
IncludeFile "JSON_Parser.pbi"
Define *myJSON.jsonObj = JSON_create()
JSON_newObject(*myJSON)
JSON_newPair(*myJSON, "myString")
*myJSON\o("myString")\s = "text"
JSON_newPair(*myJSON, "myObject")
JSON_newObject(*myJSON\o("myObject"))
JSON_newPair(*myJSON\o("myObject"), "value")
*myJSON\o("myObject")\o("value")\i = 49
JSON_newPair(*myJSON\o("myObject"), "nullValue")
*myJSON\o("myObject")\o("nullValue")\type = #JSON_Type_Null
JSON_Debug(*myJSON, "")
JSON_free(*myJSON)