This commit is contained in:
Looly 2023-05-20 01:27:18 +08:00
parent d09c0ff058
commit 25eca5dba7
2 changed files with 34 additions and 1 deletions

View File

@ -248,9 +248,14 @@ public class JSONTokener extends ReaderWrapper {
c = this.next(); c = this.next();
switch (c) { switch (c) {
case 0: case 0:
throw this.syntaxError("Unterminated string");
case '\n': case '\n':
case '\r': case '\r':
throw this.syntaxError("Unterminated string"); //throw this.syntaxError("Unterminated string");
// https://gitee.com/dromara/hutool/issues/I76CSU
// 兼容非转义符
sb.append(c);
break;
case '\\':// 转义符 case '\\':// 转义符
c = this.next(); c = this.next();
switch (c) { switch (c) {

View File

@ -0,0 +1,28 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package org.dromara.hutool.json;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
/**
* https://gitee.com/dromara/hutool/issues/I76CSU
*/
public class IssueI76CSUTest {
@Test
void parseTest() {
final String str = "{ \"card\": true, \"content\": \"【标题】\n摘要\", \"time\": 1678434181000}";
final JSONObject entries = JSONUtil.parseObj(str);
Assertions.assertEquals("【标题】\n摘要", entries.getStr("content"));
}
}