Wenn ich ein Feld in XML in einer Antwort mit node-soap konvertieren, möchte ich ein Feld zu einem Array zwingen, obwohl es ein Kind enthält.Node-Soap Force-Array, wenn Antwortfeld enthält ein Kind
Wenn nur ein Kind vorhanden ist, wird ein Feld als Objekt interpretiert. Bitte beachten Sie ein Beispiel unter:
// Below gives {ArrayOfItems: {Item: { name: 'foo', ... }}
// But I'd like it to be {ArrayOfItems: {Item: [{name: 'foo', ... }]}
<ArrayOfItems>
<Item>
...
</Item>
</ArrayOfItems>
// Below gives {ArrayOfItems: {Item: [{ name: 'foo', ... }, { name: 'bar', ... }]}
<ArrayOfItems>
<Item>
...
</Item>
<Item>
...
</Item>
</ArrayOfItems>
Wie kann ich zwingen, mein Feld als Array analysiert werden, wenn sie von XML konvertiert zum Objekt?
Ja, ich habe am Ende eine Funktion geschrieben, um etwas auf Array zu übertragen. Aber es scheint hacky. Gibt es andere Lösungen? –
Sie können den Code von Node-Soap ändern, um eine * forceArray * Option zu akzeptieren, um dies für Sie durchzuführen ... aber dann - auf welcher Ebene wird es das Array erzwingen? nur an der Spitze? für jedes Kind der Top-Objekte? es ist sehr anwendungsspezifisch –