Ich versuche, eine JSON-Zeichenfolge zu einer benutzerdefinierten Klasse zu deserialisieren. Mein json ist:Deserialize Json Datatype-Datei
externDossierNr:"foo10"
internDossierNr:"2016010"
rapport:File
testarray:Array[3]
testword:42
__proto__:Object
externDossierNr, internDossierNr und Beziehung sind Daten, die ich von meiner Form zu bekommen. Ich kann externDossierNr und internDossierNr deserialisieren. Wenn ich versuche, Rapport zu deserialisieren, gibt es {}. Ich habe dann testarray und testword in Javascript hinzugefügt und ich kann diese auch lesen.
Ich denke, das Problem liegt in der JsonType-Datei. Here Ich finde verschiedene Json Datentypen, aber Datei ist nicht einer von ihnen.
ich meine Datei Trog RestAngular
public save(item: any): any {
item["testword"] = 42;
item["testarray"] = [2,5,9];
console.log("item to save is ", item);
console.log("rapport is ", item["rapport"]);
if (item.id === undefined) {
this.restService.save(this.metadata.apiDomain, item).then((addedItem: any) => {
toastr.success(`${addedItem.naam} successfully created.`, `Overzicht Dossiers Created`);
});
} else {
this.restService.update(this.metadata.apiDomain, item).then((updatedItem: any) => {
toastr.success(`${updatedItem.naam} successfully updated.`, `Overzicht Dossiers Updated`);
});
}
}
Für meine Deserialisierung Senden benutzte ich this und ([diese] [2] von sghill nicht genug rep) Artikel
den folgenden Code Paket Producing be.ugent.lca.data.entities.deserializers;
import be.ugent.lca.data.entities.Dossier;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
public class DossierDeserializer extends JsonDeserializer {
@Override
public Dossier deserialize(JsonParser jsonParser,
DeserializationContext deserializationContext) throws IOException {
ObjectCodec oc = jsonParser.getCodec();
JsonNode root = oc.readTree(jsonParser);
Dossier dossier = new Dossier();
dossier.setExternDossierNr(root.get("externDossierNr").asText());
dossier.setInternDossierNr(root.get("internDossierNr").asText());
System.out.println("Intern Dossier nr is " + root.get("internDossierNr"));
System.out.println("Test word " + root.get("testword"));
System.out.println("Test array " + root.get("testarray"));
JsonNode node = root.get("rapport");
if(node == null){
System.out.println("Rapport is a null pointer.");
}else{
System.out.println("Rapport is " + node + " with size " + node.size());
}
return dossier;
}
}
Gibt es irgendwo kann ich weitere Informationen über die Datei Json Datentyp finden. Wie kann ich es senden, damit ich es lesen und deserialisieren kann?