2015-06-19 5 views
9

Während ich versuche, YAML-Zeichenfolge in Map konvertieren, bekomme ich Schlüssel ändern. Datei
YAML: -nicht in der Lage, YAML-Zeichenfolge zu Karte mit Schlüssel "NO" in Java zu konvertieren

--- 
HK: 
    isp: 
    Airtel: AirtelChennal 
    www.enemalta.com: 
    default: defaultEma 
    user1: chennal1 
    studiodefault: hkDefaultchennal 
    country: 
    DK: denmarkChennal 
    NO: chennal2 

Java-Code: -

Yaml yaml= new Yaml(); 
Map<String,Object> map= (Map<String, Object>) yaml.load(yamlString); 

Ausgang: -

{HK={isp={Airtel=AirtelChennal}, www.enemalta.com={default=defaultEma, user1=chennal1}, studiodefault=hkDefaultchennal, country={DK=denmarkChennal, false=chennal2}}} 

oben Ausgang falsch ersetzen mit "NEIN", aber ich brauche „NEIN " wie es ist.

Erwartete Ausgabe: -

{HK={isp={Airtel=AirtelChennal}, www.enemalta.com={default=defaultEma, user1=chennal1}, studiodefault=hkDefaultchennal, country={DK=denmarkChennal, NO=chennal2}}} 

Antwort

0

Sie sollten Ihren Parser auf einen aktualisieren, der dem neuesten Standard entspricht (1.2 von 2009!), es scheint confor zu sein ming an die 1.1 YAML standard. Und interpretiere Ja und Nein als Booleans. In revision 1.2 booleans sollte true oder false sein.

Sie können denselben Effekt erzielen, indem Sie den Skalar NO zu expliziten Strings machen, indem Sie sie mit einfachen oder doppelten Anführungszeichen angeben.

Verwandte Themen