Tc3JsonXmlSampleJsonSaxWriter

Beispiel zum Erstellen von JSON-Dokumenten via SAX Writer

Dieses Beispiel veranschaulicht, wie eine JSON-Nachricht über den SAX-Mechanismus erstellt werden kann. Als Basis wird der Funktionsbaustein FB_JsonSaxWriter verwendet.

Deklarationsbereich

PROGRAM MAIN
VAR
  dtTimestamp : DATE_AND_TIME := DT#2017-04-04-12:42:42;
  fbJson      : FB_JsonSaxWriter;
  sJsonDoc    : STRING(255);
END_VAR

Implementierungsbereich

Der SAX-Mechanismus durchläuft ein zu erstellendes JSON-Dokument sequentiell, d. h. die entsprechenden Elemente werden der Reihe nach durchlaufen und erstellt.

fbJson.StartObject();
fbJson.AddKey('Timestamp');
fbJson.AddDateTime(dtTimestamp);
fbJson.AddKey('Values');
fbJson.StartObject();
fbJson.AddKey('Sensor1');
fbJson.AddReal(42.42);
fbJson.AddKey('Sensor2');
fbJson.AddDint(42);
fbJson.AddKey('Sensor3');
fbJson.AddBool(TRUE);
fbJson.EndObject();
fbJson.EndObject();
sJsonDoc := fbJson.GetDocument();
fbJson.ResetDocument();

Resultierende JSON-Nachricht

{
  "Timestamp": "2017-04-04T12:42:42",
  "Values": {
    "Sensor1": 42.42,
    "Sensor2": 42,
    "Sensor3": true
  }
}