当我在其中读取带有'\'的单元格然后因为java转义属性而尝试将其替换为'\'时,我遇到了问题。
例如:“错误:提供的P \ jb凭证”
当我使用以下方法直接从Cell中读取此内容时
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将其发送到我的web服务时,由于字符串中的'\',它将无法工作,它会给我错误。
有没有办法保证'\'被'\\'取代?
非常感谢你的时间!
答案 0 :(得分:0)
即使我尝试使用JSON对象插入它也会给我带来错误,也许我做错了什么,但我现在所做的就是在分配给JSON之前使用SELECT /*+ materialize */ CAN.CNCL_CNT, CAN.ITEM, CAN.LOCATION,
CAN.LAST_CNCL_DTE, OL.CANCEL_ID
FROM ORDLOC OL,
(SELECT COUNT(CANCEL_DATE) AS CNCL_CNT, ITEM, LOCATION,
MAX(CANCEL_DATE) AS LAST_CNCL_DTE
FROM ORDLOC
WHERE CANCEL_DATE between (to_date(20160123,'yyyymmdd') -60) and to_date(20160123,'yyyymmdd')
AND CANCEL_DATE IS NOT NULL
GROUP BY ITEM, LOCATION) CAN
WHERE CAN.ITEM = OL.ITEM
AND CAN.LOCATION = OL.LOCATION
AND CAN.LAST_CNCL_DTE = OL.CANCEL_DATE
GROUP BY CAN.CNCL_CNT, CAN.ITEM, CAN.LOCATION, CAN.LAST_CNCL_DTE, OL.CANCEL_ID
对象
它工作正常,我正在使用多个应用程序,这个应用程序包含多个解析文件,这会产生许多问题并增加不必要的复杂性。
非常感谢你的帮助!