问题描述
String json = '{'remark1':'这里是一个反斜杠 + r r r r ------------- ','remark2':'这里是二个反斜杠 + r r r r ------------- ','remark3':'这里是三个反斜杠 + r r r r ------------- '}';
我有一个Json字符串要在TextView里做显示换行,但是实际操作的时候用Gson转换成Bean对象以后,'r'总会被Gson直接去除。
我试过disableHtmlEscaping()也没有用!!!
PLog.json(json);Gson gson = new GsonBuilder().disableHtmlEscaping().create();Gson gson2 = new Gson();ReMark shareLinkResponse = gson.fromJson(json, ReMark.class);ReMark shareLinkResponse2 = gson2.fromJson(json, ReMark.class);PLog.d(shareLinkResponse.getRemark1());PLog.d(shareLinkResponse.getRemark2());PLog.d(shareLinkResponse.getRemark3());PLog.d('----------------------------------------');PLog.d(shareLinkResponse2.getRemark1());PLog.d(shareLinkResponse2.getRemark2());PLog.d(shareLinkResponse2.getRemark3());
在我的LogCat中显示
{ 'remark1': '这里是一个反斜杠 + r r r r ------------- ', 'remark2': '这里是二个反斜杠 + r r r r ------------- ', 'remark3': '这里是三个反斜杠 + r r r r ------------- ' }D/PLog: [ (MainActivity.java:49)#onCreate ] 这里是一个反斜杠 + r ------------- D/PLog: [ (MainActivity.java:50)#onCreate ] 这里是二个反斜杠 + r r r r ------------D/PLog: [ (MainActivity.java:51)#onCreate ] 这里是三个反斜杠 + r ------------- D/PLog: [ (MainActivity.java:52)#onCreate ] ----------------------------------D/PLog: [ (MainActivity.java:53)#onCreate ] 这里是一个反斜杠 + r ------------- D/PLog: [ (MainActivity.java:54)#onCreate ] 这里是二个反斜杠 + r r r r ------------D/PLog: [ (MainActivity.java:55)#onCreate ] 这里是三个反斜杠 + r -------------
如果Gson不能正确解析我就只能手动来了,很尴尬
求助
问题解答
回答1:其实
这里是一个反斜杠 + r -------------
在这里 r 是存在的,而Android Studio 的logcat 没有将他显示出来,win下换行也不是r,所以没有马上发现,如果拿着这个字符串去contains('r') 这时候返回的是true 证明了字符串里面有r ,呵呵