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

时间:2013-12-03 07:17:45

标签: 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();
}

感谢。

1 个答案:

答案 0 :(得分:5)

正如@GrlHu所说,默认情况下,android会将您的字符串转换为utf-8编码格式,以便/替换为\/
请阅读以下两篇文章1。 JSON: why are forward slashes escaped?
2. Why is the slash an escapable character in 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();
}