Ich habe ein benutzerdefiniertes Reststeuerelement in Java geschrieben. Alles funktioniert gut für String-Felder, aber nicht für mehrwertige String-Felder. Mein Code gibtAbrufen von JSON aus einem Feld mit mehreren Werten in der benutzerdefinierten Java-Ruhezustandskontrolle
"[Wert1, Wert2, Wert3 ...]" zurück. Beachten Sie, dass es keine Kommas um die Werte gibt. Auf der Webseite sieht die Ausgabe wie folgt aus:
Wenn ich Kommas um die Werte, die Front-End-Rahmen leicht analysieren kann bekommen.
Ich habe versucht, den Wert aus dem Feld zu analysieren und richtig formatiert, aber es scheint nicht richtig zu sein.
Der erste Satz Code funktioniert für eine Zeichenfolge. Der zweite ist ein Versuch, für ein mehrwertiges Feld zu arbeiten.
Jede Hilfe würde sehr geschätzt werden.
writer.startProperty("chgTitle");
writer.outStringLiteral(String.valueOf(columnValues.get(0)));
writer.endProperty();
writer.startProperty("plpAffected");
Object tmpObj = columnValues.get(5);
if (tmpObj instanceof Vector) {
String[] copyArr = new String[((Vector) tmpObj).size()];
((Vector) tmpObj).copyInto(copyArr);
writer.outStringLiteral(String.valueOf(copyArr));
} else {
}
writer.endProperty();
Dies funktionierte perfekt. –
Eine kleine Änderung: anstelle von "(String) obj" benutze "String.valueOf (obj)" - es wird für alle Datentypen funktionieren und nicht explodieren, falls obj null sein könnte. – stwissel