当我尝试在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();
}
感谢。
答案 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();
}