Welche JavaScript-Objekt-zu-Objekt-Zuordnungsbibliotheken existieren?

8

Ich arbeite gerade an einem großen JavaScript-Projekt und habe Probleme damit, eingehende JSON-Daten (aus dem Backend) mit meinen eigenen JavaScript-Objekten abzugleichen.

Ich verwende das Knockout JavaScript MVVM-Framework und obwohl es ein Mapping-Plugin enthält, erlaubt es mir nicht Eigenschaften neu zuordnen. Ich möchte das erreichen, weil die eingehenden JSON-Daten zu feinkörnig sind und ich meine JS-Objekte "flattern" möchte. Ein Beispiel folgt.

Eingehende Daten.

%Vor%

Und ich würde dies gerne wiederholen / abflachen zu:

%Vor%

Daher Ich möchte eine Mapping-Konfiguration bereitstellen, die genau angibt, welche eingehenden Eigenschaften denen ausgehenden zugeordnet werden sollen . Ähnlich wie Dozer wird konfiguriert.

Meine Frage ist: Gibt es da draußen Bibliotheken, die in der Lage sind, das zu erreichen, was ich erreichen möchte , oder muss ich dafür eine eigene Bibliothek erstellen?

    
thomaux 21.05.2012, 11:49
quelle

3 Antworten

3

Das knockoutjs mapping Plugin erlaubt Ihnen genau das:

Im Aufruf ko.mapping.fromJS können Sie ein Mapping-Objekt angeben, mit dem die enthaltenen Eigenschaften ...

zugeordnet werden %Vor%

Dies bedeutet, dass bei Verwendung dieses Mappers mit dem Mapping-Plugin jedes Objekt zu einem Objekt verflacht wird, das nur seinen Namen als Observable enthält.

Du benutzt es so:

%Vor%

In diesem Fall hat viewModel nur einen Eigenschaftsnamen.

Sie können mehr über diese Funktion in der offiziellen Dokumentation hier lesen.

    
Samir Hafez 21.05.2012, 13:17
quelle
7

Nun, ich denke nicht, dass es eine Bibliothek dafür gibt, da das ziemlich einfach klingt.

Hier ist ein Beispiel:

%Vor%

Demo hier: Ссылка

    
Florian Margaine 21.05.2012 13:11
quelle
5

Es ist eine Weile her, dass dieses Thema zuletzt aktualisiert wurde. Da Leute wahrscheinlich immer noch nach Objekt-Objekt-Mappern suchen:

Letztes Jahr habe ich einen Port der C # AutoMapper-Implementierung in TypeScript / JavaScript genau für dieses Szenario erstellt. Ich habe den Code auf GitHub ( Ссылка ) gestellt. Sie können die Bibliothek auch direkt mit dem Paket automapper-ts NPM oder Bower verwenden.

Die Bibliothek ist fast vollständig dokumentiert. Darüber hinaus sind bereits viele Jasmin-Komponententests verfügbar (die Codeabdeckung beträgt ca. 95%). Sie sollten Ihnen eine Erklärung geben, was Sie brauchen.

Ich hoffe, dass diese Bibliothek Ihren Bedürfnissen entspricht. Sollten Sie Fragen und / oder Anmerkungen haben, zögern Sie bitte nicht mich zu kontaktieren!

    
DotBert 17.06.2016 07:19
quelle

Tags und Links