2016-07-14 27 views
0

Ich habe eine komplexe JSON, die ich mit Schnurrbart rendern möchte, wenn ich dies mit ObjC mache, alles ist in Ordnung, aber wenn ich template.execute (mapData) verwende in android jmustache, ich habe eine Ausnahme sagt: Keine Methode oder Feld mit dem Namen "meinName" in Zeile 1;Android-Schnurrbart komplexe Karte ausführen bekam falsche Ausnahme (Java)

hier ist meine JSON:

{ 
    "A" : { 
     "Aa" : { 
      "Aa1" : "Aa1" 
     }, 
     "Ab" : "Ab" 
     }, 
     "B" : "b", 
     "C" : false, 
     "D" : [ 
     { 
      "Da" : "Da", 
      "Db" : 0 
     } 
     ] 
    } 

Ich stelle fest, es gibt eine "map.containsKey (Name)" in "BaseCollector.java" false zurück, wenn der Name "Aa", "Aa1" ist ... aber true zurück, wenn der Name "A", "B", "C", "D" ist. Gibt es eine Möglichkeit, dies zu lösen, ohne die Marmelade zu ändern? danke!

Antwort

0

Problem gelöst. Ich habe es falsch verstanden. Mein Schnurrbart enthält nur Objekte in "A", aber ich benutze die gesamte Map, die die Ausnahme verursacht. Wenn jemand das gleiche Problem hat, sollten Sie überprüfen, ob JSON und Moustache übereinstimmen. BTW, wenn einige Schlüssel in Schnurrbart nicht in JSON nicht vorhanden ist, würde ObjC den Schnurrbart richtig machen, aber Android nicht der Fall, so würden Sie besser tun es:

{{#A}}{{A}}{{/A}} 

nicht nur

{{A}}