"Text1/Text2"字符串被android中的"Text1\/ Text2"替换

rav*_*avi 4 android json

当我尝试在android中运行此代码时,我得到的结果是,"Name":"Text1\/Text2"但结果应该是{"Name":"Text1/Text2"}.

try {
    String str;
    JSONObject json = new JSONObject();

    json.put("Name", "Text1/Text2");

    str = json.toString();
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

and*_*ter 5

正如@GrlHu所说,默认情况下,android会将你的字符串转换为utf-8编码格式,因此你/将被替换为\/.
请阅读以下两篇文章
1. JSON:为什么正斜线逃脱?
2. 为什么斜杠是JSON中可逃避的字符?
因此,您可以使用getString(Name)方法而不是这个.希望你能获得完美的价值.

try {
    String str;
    JSONObject json = new JSONObject();

    json.put("Name", "Text1/Text2");
    str = json.getString("Name");
    Log.e("test", str);
} catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)