gpt4 book ai didi

javascript - 如何正确处理 Unterminated string 异常?

转载 作者:搜寻专家 更新时间:2023-11-01 03:02:24 25 4
gpt4 key购买 nike

我正在使用 JSON.org java library去修补。

目前由于 \n 个字符,我遇到了一个错误:

try{
String s = "{\"property:\":\"line1\n,line2\"}";
JSONObject o = new JSONObject(s);
}catch(Exception e){
e.printStackTrace(System.err);
}

结果:

org.json.JSONException: Unterminated string at 20 [character 0 line 2]
at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
at org.json.JSONTokener.nextString(JSONTokener.java:261)
at org.json.JSONTokener.nextValue(JSONTokener.java:361)
at org.json.JSONObject.<init>(JSONObject.java:218)
at org.json.JSONObject.<init>(JSONObject.java:325)

快速搜索后,我找到了 this answer这指向我的字符串必须像这样转义:

String s = "{\"property:\":\"line1\\n,line2\"}";

我不会再看到异常,可以用 '\n' 替换 "\n" 的字符串,但我只是想知道:

是在 java 中处理 JSON 字符串中新行的推荐方法吗?

最佳答案

正如您在 the JSON specification 中看到的那样, JSON 不允许在字符串中使用真正的换行符,所以你总是需要使用 \n 来转义换行符。这不是一个特殊的 Java 东西。另见 this question .

关于javascript - 如何正确处理 Unterminated string 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com