#java #csv #jexcelapi
#java #csv #jexcelapi
Вопрос:
У меня возникла проблема, когда я читаю ячейки с «» в нем, а затем пытаюсь заменить его на «» из-за свойства Java escape.
Например: «Ошибка: предоставленные учетные данные P jb»
Когда я читаю это непосредственно из ячейки, используя:
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);
И после этого поместите его в объект, который я создал для хранения его информации:
ObjectThatIMade object_= new ObjectThatIMade();
object_.setContent(content.getContents().replace("\", "\\"));
Это не меняет » на ‘\’, я сделал то же самое с replaceAll, это тоже не работает. Он сохраняется таким же образом, и когда я пытаюсь отправить его с помощью JSON на мой веб-сервис, он не будет работать из-за » в строке, это выдает ошибку.
Есть ли какой-либо способ гарантировать, что » заменяется на ‘\’?
Большое спасибо за ваше время!
Комментарии:
1. Скорее всего, вы неправильно создаете свой JSON. Для этого используйте библиотеку; не пытайтесь создавать строку JSON самостоятельно.
2. У вас уже есть строка, которая может корректно содержать неэкранированные обратные косые черты. Единственная причина избежать их — это если вы вручную создаете строку в Java с их помощью
3. Не могли бы вы опубликовать реализацию создания документа JSON?
4. Вы можете использовать так:
JSONObject jsonObject = new JSONObject(); jsonObject.put("nameOfTheField", value);
Затем, после этого вы просто отправляете его, в моем случае я выполняю синтаксический анализ следующим образом:jsonToSend = jsonObject.toString();
Но это только один из способов сделать это. Надеюсь, это поможет.5. Каков пакет
JSONObject
класса?
Ответ №1:
Даже когда я пытался вставить с помощью объекта JSON, это выдавало ошибки, возможно, я делаю что-то не так, но то, что я сделал, и это сработало сейчас, — это использовать .replace("\","\\")
перед присвоением объекту JSON.
И это сработало, я работаю с несколькими приложениями, и эти приложения содержат несколько файлов синтаксического анализа, что создает много проблем и добавляет ненужную сложность.
Большое спасибо за вашу помощь, ребята!