X4 Produktdokumentation

JSON Converter 2.0

Dieser Adapter konvertiert ein Textdokument, das strukturierte Daten in der JavaScript Object Notation (JSON) enthält, in ein XML-Dokument, und konvertiert umgekehrt ein XML-Dokument in ein UTF-8-kodiertes JSON-Dokument. Dabei verwendet der Adapter ein neues XML-Format, das eine bessere Kontrolle des generierten JSON-Dokuments erlaubt.

Dieser Adapter ersetzt den veralteten JSON Converter.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Funktions-Adapter durchführt

Mögliche Werte:

  • JSON2XML: JSON-Dokument in XML konvertieren

  • XML2JSON: XML-Dokument in JSON konvertieren

Parameter

allowBareObjectKeys

Angaben zum Umgang mit Object Keys, die nicht in Anführungszeichen stehen

Mögliche Werte: 

  • true: erlaubt Object Keys, die nicht in Anführungszeichen stehen

  • false: erlaubt keine Object Keys, die nicht in Anführungszeichen stehen

escapeStringInXml

Angaben zum Umgang mit Nicht-XML-Zeichen

Mögliche Werte: 

  • true: Nicht-XML-Zeichen escapen. Zeichen, die in XML verboten sind, werden durch \u???? ersetzt, wobei die Fragezeichen den Hexadezimalen Ziffern des Unicode-Zeichens entsprechen

  • false: Nicht-XML-Zeichen filtern. Zeichen, die in XML verboten sind werden durch das Unicode-Zeichen uFFFD (Replacement Character) ersetzt

emptyStringAsNull

Leere Zeichenketten bei Zahlen und Boolean-Werten als null ausgeben

Mögliche Werte: 

  • true: Leere Zeichenketten als null ausgeben, z. B. <Value type="Boolean"></Value> wird als null ausgegeben

  • false: Leere Zeichenketten nicht als null ausgeben, z. B. <Value type="Boolean"></Value> erzeugt einen Fehler

<Value type="String"></Value> erzeugt immer "".


encodingType

Verwendete Zeichenkodierung

Mögliche Werte:

Zeichenkette mit der verwendeten Zeichenkodierung, z. B. UTF-8 (Standard), windows-1251, ISO-8859-1, ...

Bei der Operation XML2JSON werden für nummerische und boolesche Werte Whitespaces am Anfang und Ende des Wertes ignoriert.

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt.

-1

Die Operation ist aufgrund eines technischen Fehlers fehlgeschlagen.

Beispiel

Folgende Beispiele zeigen JSON-Ausdrücke und ihre jeweiligen Entsprechungen in XML.

JSON

XML

JavaScript
null
XML
 <Value type="Null"/>
JavaScript
true
XML
<Value type="Boolean">true</Value>
JavaScript
false
XML
<Value type="Boolean">false</Value> 
JavaScript
1
XML
<Value type="Number">1</Value>
JavaScript
1.0
XML
<Value type="Number">1.0</Value>
JavaScript
1.2e3
XML
<Value type="Number">1200</Value>
JavaScript
"Hallo Welt!"
XML
<Value type="String">Hallo Welt!</Value>
JavaScript
"\u0000"

escapeStringInXml = true

XML
<Value type="String">\u0000</Value>

escapeStringInXml = false

XML
<Value type="String">&#xFFFD;</Value>
JavaScript
{}
XML
 <Object/>
JavaScript
[]
XML
 <Array/>
JavaScript
{
  "key" : "value",
  "a number" : 42,
  "true" : false,
  "emptyList" : [],
  "emptyObject" : {}
}
XML
<Object>
	<Value name="key" type="String">value</Value>
	<Value name="a number" type="Number">42</Value>
	<Value name="true" type="Boolean">false</Value>
	<Array name="emptyList" />
	<Object name="emptyObject" />
</Object>
JavaScript
[1,2,3]
XML
<Array>
	<Value type="Number">1</Value>
	<Value type="Number">2</Value>
	<Value type="Number">3</Value>
</Array>
JavaScript
{
  "title" : "A List",
  "list" : [
    {
	 "id" : 1,
	 "content" : "first"
    } ,
    {
      "id" : 2,
      "content" : "second"
    } ,
    {
      "id" : 3,
      "content" : "third"
    } ,
  ]
}
XML
<Object>
	<Value name="title" type="String">A List</Value>
	<Array name="list">
    	<Object>
	    	<Value name="id" type="Number">1</Value>
			<Value name="content" type="String">first</Value>
		</Object>
    	<Object>
	   		<Value name="id" type="Number">2</Value>
	    	<Value name="content" type="String">second</Value>
   		</Object>
    	<Object>
	    	<Value name="id" type="Number">3</Value>
	    	<Value name="content" type="String">third</Value>
    	</Object>
	</Array>
</Object>