JsonNullable-Objekte haben immer den isPresent-Wert = true
Feb 08, 2024 pm 10:42 PMJsonNullable ist ein häufig verwendetes Objekt in PHP. Es hat immer die Eigenschaft, dass der isPresent-Wert wahr ist. Das bedeutet, dass ein JsonNullable-Objekt als vorhanden gilt, unabhängig davon, ob es null ist oder nicht. Der PHP-Editor Xinyi wird im folgenden Artikel die Verwendung und Eigenschaften des JsonNullable-Objekts untersuchen und erklären, warum sein isPresent-Wert immer wahr ist. Durch ein tiefes Verständnis des JsonNullable-Objekts können wir seine Anwendung und Vorteile in der PHP-Entwicklung besser verstehen.
Frageninhalt
Ich habe eine Datei im JSON-Format. Es speichert JSON-Objekte, die ich in meinen Tests verwende. Ich habe Objectmapper verwendet, um diese Datei in Objekte zu konvertieren, und die Konvertierung funktionierte einwandfrei, aber es gibt ein Problem. Alle Felder im Objekt haben den Wrapper-Typ jsonnullabel. Das Problem ist wie folgt: Alle jsonnullabel-Objekte, auch wenn sie einen Null-Attributwert enthalten, sind vorhanden = true. Daher funktionieren die Methoden „orelse“ und „ispresent“ nicht ordnungsgemäß. Ich habe NPE. Wie kann ich sicherstellen, dass diese Felder beim Konvertieren aus einer String- oder JSON-Datei den Wert „false“ haben, wenn darin Nullwerte enthalten sind?
json-Beispiel:
65bee5661098cIch habe diese Konfiguration für Objectmapper ausprobiert: Objekt-Mapper-Konfiguration:
1 2 3 4 5 6 7 |
|
Workaround
Versuchen Sie, @jsondeserialize jackson-Annotation für Klassenmitglieder zu verwenden, die in JSON nullbar sind, und Sie möchten, dass der Wert „false“ statt null ist, wie folgt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Das obige ist der detaillierte Inhalt vonJsonNullable-Objekte haben immer den isPresent-Wert = true. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
