Android Studio:错误:非法字符:' \ u2028'

时间:2016-01-03 15:23:40

标签: java android string android-studio android-volley

我正在尝试执行JSONObject请求:

final String URL = "https://some/url";

// Post params to be sent to the server
HashMap<String, String> params = new HashMap<String, String>();
params.put("param1", param1);

params.put("param2", param2);

params.put("param3", param3);
    
params.put("param4", param4);


JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params), new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        try {
            VolleyLog.v("Response:%n %s", "läuft");
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        VolleyLog.e("Error: ", error.getMessage());
    }
});

// add the request object to the queue to be executed
NetworkController.getInstance().addToRequestQueue(req);

我无法编译项目,因为我得到了params的语法错误:

  

错误:(144,9)错误:非法字符:&#39; \ u2028&#39;

我该如何解决?

6 个答案:

答案 0 :(得分:37)

这是新行字符,如果您转到导致错误的每一行并删除“隐藏”的最后一个字符,则错误将解决

对于每个有非法字符错误的行,转到导致错误的行的末尾并按一次后退空格。

答案 1 :(得分:15)

如果你是mac用户,那么你可以

在TextWrangler中复制并粘贴文本 查看 - &gt;文字显示 - &gt;显示隐形

它会显示符号“|”。删除它,你很高兴。

答案 2 :(得分:10)

好吧,只需删除所有字符并重新编写它们就可以了。太疯狂..

答案 3 :(得分:6)

最好是使用Android Studio中的替换功能,在中添加一个空字符串&#34;替换为&#34;

Android studio replace

答案 4 :(得分:4)

将代码剪切并粘贴到文本编辑器中,将其转换为简单文本。然后删除所有额外的空格。之后,使用Android Studio的重新格式化代码功能使其再次变得漂亮。

对我来说,只删除Android Studio中的空格不起作用。

答案 5 :(得分:1)

我遇到了完全相同的问题,但就我而言,错误的数量非常大(95左右)。唯一理智的做法是用空字符替换这些字符。这个简短的Python脚本会这样做并打印出您文件的新内容。使用正确的文件路径运行它。干杯。

with open(‘filename.java’, ‘r’) as file:
    data=(file.read().decode(“utf-8”)).replace(u’\u2028', ‘’).encode(“utf-8”)
    print data