Json.NET listet "Case-insensitive Eigenschaft Deserialisierung" als eine der angekündigten Funktionen. Ich habe gelesen, dass zuerst versucht wird, den Fall der angegebenen Eigenschaft zu vergleichen, und wenn eine Übereinstimmung nicht gefunden wird, wird eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durchgeführt. Dies scheint jedoch nicht das Standardverhalten zu sein. Siehe das folgende Beispiel:Json.NET Groß-und Kleinschreibung keine Eigenschaft Deserialisierung
var result =
JsonConvert.DeserializeObject<KeyValuePair<int, string>>(
"{key: 123, value: \"test value\"}"
);
// result is equal to: default(KeyValuePair<int, string>)
Wenn die JSON-String geändert wird, um den Fall der Eigenschaften übereinstimmen („Key“ und „Value“ vs „Schlüssel“ und „Wert“), dann ist alles gut:
var result =
JsonConvert.DeserializeObject<KeyValuePair<int, string>>(
"{Key: 123, Value: \"test value\"}"
);
// result is equal to: new KeyValuePair<int, string>(123, "test value")
Gibt es eine Möglichkeit, die Groß- und Kleinschreibung der Deserialisierung durchzuführen?
Danke für die Erklärung und beheben verwenden. Mir war nicht bewusst, dass ein Converter für KeyValuePair verwendet wurde. –