android 中json中反斜杠会消失
JSONObjectj=newJSONObject("d:\\头像");JSONObjectj1=j;Log.e("打印",j1.toString());然后连同j里面的...
JSONObject j = new JSONObject("d:\\头像");
JSONObject j1 = j;
Log.e("打印" , j1.toString() ) ;
然后连同 j 里面的值都变了。
代码错了.我测试了一下,发现/会变成\/,直接打印出来没事,只是在实际用的过程不知道怎么的斜杆就都消失了,是json有什么内部机制不能这样使用斜杆吗 展开
JSONObject j1 = j;
Log.e("打印" , j1.toString() ) ;
然后连同 j 里面的值都变了。
代码错了.我测试了一下,发现/会变成\/,直接打印出来没事,只是在实际用的过程不知道怎么的斜杆就都消失了,是json有什么内部机制不能这样使用斜杆吗 展开
2个回答
展开全部
首先你没明白/在java的String中当做转译的存在,第一个/永远是用于转译后面一个字符,那么字符串必须写成“d:////头像”这样才能达到你所需要的想过,再来因为电脑中使用路径的时候 \=//,所以使用/ 字符串就是“d:\头像”并且不需要转译。
“//”是指一层路径,因为\是特殊字符所以是需要转译的,所以写成“////”意思是我这两条右斜杠都是转译过得,不是转译符号。第一个是转译符号,第二个是被转译的字符,第三个是转译符号,第四个是被转译的字符,那么你理解了吗?如果转译字符后面不接特设字符,那么转译无效,所以你这样写“///”也只是等同于这个“/”的。希望你能了解这些基础。
在补充一点,什么叫做转译,就是把一些常用的窜用的字符转成没有功能的正常字符,例如
.,/,*,%,[,].这个在正则表达式中限制的很严重。所以如果你没怎么用过正则表达式,那么问题就这么来了
“//”是指一层路径,因为\是特殊字符所以是需要转译的,所以写成“////”意思是我这两条右斜杠都是转译过得,不是转译符号。第一个是转译符号,第二个是被转译的字符,第三个是转译符号,第四个是被转译的字符,那么你理解了吗?如果转译字符后面不接特设字符,那么转译无效,所以你这样写“///”也只是等同于这个“/”的。希望你能了解这些基础。
在补充一点,什么叫做转译,就是把一些常用的窜用的字符转成没有功能的正常字符,例如
.,/,*,%,[,].这个在正则表达式中限制的很严重。所以如果你没怎么用过正则表达式,那么问题就这么来了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询