Für jede Entität in Ihrer Antwort sollten Sie ein eigenes Schema erstellen. In Ihrem Beispiel haben wir drei Entitäten: %code% , %code% und %code% :
%Vor%Wenn eine Entität verschachtelte Daten enthält, die normalisiert werden sollen, müssen wir das Schema %code% method of it verwenden. Diese Methode akzeptiert ein Objekt mit Verschachtelungsregeln. Wenn wir %code% und %code% Requisiten von %code% entity, wir sollten ein Objekt an %code% function mit derselben Struktur wie unsere Antwort übergeben:
%Vor%Jetzt können wir unsere Antwort normalisieren:
%Vor%Wie kann ich normalizr verwenden, um mit verschachtelten standardisierten umzugehen? JSON API Antworten, die Schlüssel sind über den %code% Standard?
Zum Beispiel ein %code%
%Vor%Wie würde ich Schemata entwerfen, um mit dem verschachtelten Datenschlüssel umzugehen?
Ich glaube, was Sie suchen, ist die Verwendung der Funktion %code% , die in den Optionen von %code% übergeben werden kann. In diesem Fall können wir gegebenenfalls die redundanten %code% -Eigenschaften herausfiltern und direkt zu den darunter liegenden Werten gehen.
Effektiv %code% lassen Sie steuern, wie jeder Schlüssel der Daten normalisiert wird. Sehen Sie sich hier an, um mehr darüber zu erfahren, wie es funktioniert.
Ich stelle das als Demonstration zusammen, schaut euch um: Ссылка . Hier ist ein Ausschnitt:
%Vor%Siehe auch Ln 29, wo das Array von %code% einige Objekte hat, deren Informationen in %code% verschachtelt sind, und einige ohne. Alle sind normalisiert.
Ich habe auch einige Teile hinzugefügt, um zu zeigen, wie es mit Arrays und tief verschachtelten Daten funktioniert, siehe das %code% -Modell in %code% .
Mit den zur Verfügung gestellten Daten benötigen Sie einen Slug aufgrund der Abwesenheit von IDs, die jedes Schema auch im Beispiel enthält.
Normalizr ist fantastisch, ich hoffe, dass hilft ein wenig mehr darüber zu erklären:)