Frage von Jojo95, 57

Java : Aus String 2-dimensionales Char-Array erstellen möglich?

Hallo,

ich schreibe gerade einen Webservice und da erhalte ich einen String, der aus einem 2-dimensionales Char-Array besteht. Also vorher erstelle ich ein 2-dimensionales Array und konvertiere diesen zu einem String um ihn besser zu versenden zu können. Allerdings will ich diesen String nach dem Senden wieder zu einem 2-dimensionalen Char-Array konvertieren.

Hier ein Beispiel für char[3][3] :

[r,y,r] [y,r,y] [r,r,r]

Dies wird dann zu einem String gemacht. Aber gibt es eine simple Lösung, diesen String wieder in ein 2-dimensionales Array umzuwandeln?

Vielen Dank für eure Hilfe!

Antwort
von PerfectMuffin, 33

Problemlos. Man kann ihn faul mit Regex in Stücke schneiden und dnan an den Kommas trennen, oder eine Art Automaten dmait machen.

Antwort
von suziesext07, 35

das Array bleibt doch nach wie vor erhalten, ausser du löscht es (delete). Der Inhalt des Arrays wird doch auch nur in einen String eingelesen. Also hast du doch beide Formate weiterhin?

Kommentar von Jojo95 ,

Nein, leider nicht. Ich schicke diesen String an eine andere Plattform.

Kommentar von suziesext07 ,

aber dann ist der String doch immer noch da, das 'schicken' ist nichts weiter als ein kopiervorgang. Erst wenn du verschieben solltest, dann wird nach dem Kopieren im zweiten Schritt gelöscht, aber das bestimmst doch du allein.

Ich glaub, da ist bei dir irgendwo ein gedanklicher Fehler, oder?

Schreib mal den Programmausschnitt, wo du konvertierst und dann sendest.

Kommentar von Jojo95 ,

Klar, den String habe ich noch. Aber das 2-dimensionale Array nicht. Folgenden String erhalte ich dann : [[r,r,y], [r,y,r], [y,y,y]]

Und daraus will ich jetzt gerne wieder ein richtiges Array erstellen. Geht das mit einer einfachen Methode, oder muss ich das splitten?

Kommentar von Etter ,

Nja aber das Array existiert doch noch oder was machst du damit? Was genau ist deine Idee? Benutzte aufeinmal ne andere Methode, hast aber nur ein Array, welches in einer Methode verfügbar ist oder was? Dann würd ich das Array vmtl als Attribut der Klasse anlegen.

Andere Idee:
Wie wärs mit Quellcode? Das wäre vmtl. leichter als hier auf gut Glück rumzustochern.

Kommentar von Jojo95 ,

Also, ich schreibe eine Android App, die mit einem Roboter über einen Webservice verbunden ist. Diesem Webservice kann man allerdings nur Strings schicken (weil das ein halb vorgefertigter ist). Dann muss ich auf dem Webservice (ein ganz anderes Programm als die Android App, das keinerlei Zugriff auf die App hat) diesen String auswerten lassen - also wieder in ein 2 dimensionales Array umwandeln. Ich habe also keinen Zugriff auf das Array, sondern nur auf den String, weil der über diesen Webservice als URL sozusagen mitgeschickt wird. Der Roboter reagiert nur auf diese URL mit String im body.

Folgendes führt die Android-App aus:

uri ist die Adresse, auf die der Webservice hört und command ist das Array als String konvertiert. Und auf dem Webservice erhalte ich nur diesen String im Body und kein Array. Aber ich hätte gerne wieder ein Array daraus und will das nicht jedes mal aufwendig parsen müssen.

Unirest.post(uri).body(command).asString();

Keine passende Antwort gefunden?

Fragen Sie die Community