Ich habe ein Problem, wenn ich Zellen mit '\' darin lesen und dann versuchen, es wegen der Java-Escape-Eigenschaft zu '\' zu ersetzen.Lesen von .CSV in Java mit Backslash
Zum Beispiel: „Fehler: Die bereitgestellten P \ jb credenti“
Als ich das von einer Zelle direkt abgelesen werden:
if (type == TStream.Spreadsheet) {
try {
FileInputStream stream = new FileInputStream(file);
Workbook workbook = Workbook.getWorkbook(stream);
Sheet sheet = workbook.getSheet(0);
int rows = sheet.getRows();
int ignored = 0;
int parsed = 0;
for (int i = 1; i < rows; i++) {
try {
Cell content = sheet.getCell(0, i);
Und danach es ausdrückte in einem Objekt, das ich gemacht seine Informationen speichern:
ObjectThatIMade object_= new ObjectThatIMade();
object_.setContent(content.getContents().replace("\\", "\\\\"));
es ist nicht das ‚\‘ ändert ‚\\‘, habe ich das gleiche mit replaceAll es funktioniert auch nicht. Es speichert auf die gleiche Weise und wenn ich versuche, es per JSON an meinen Webservice zu senden, wird es wegen des '\' in der Zeichenfolge nicht funktionieren, es gibt mir einen Fehler.
Gibt es eine Möglichkeit zu garantieren, dass "\" durch "\\" ersetzt wird?
Vielen Dank für Ihre Zeit!
Sie bauen Ihre JSON höchstwahrscheinlich falsch. Verwenden Sie eine Bibliothek, um es zu tun; Versuchen Sie nicht, die JSON-Zeichenfolge selbst zu erstellen. – VGR
Sie haben bereits eine Zeichenkette, die unlescaped Backslashes korrekt enthalten kann. Der einzige Grund, sie zu umgehen, ist, wenn Sie manuell einen String in Java mit ihnen erstellen –
Könnten Sie bitte die Implementierung des Aufbaus eines JSON-Dokuments veröffentlichen? –