http://bbs.csdn.net/topics/390578406?page=1
注意是后台,不是用js
另外我這個json是直接取得別人的傳過來的字符串,不是我自己拼寫的,所以我自己不能做到轉義去拼接
如果針對
{"id":"FZ13082900190","type":"人口計生","title":"現在"新婚教育卡"在哪辦","time1":"13-08-29","time2":"08-29","from":"網站"}
這個我直接拿到的字符串,關鍵的就是紅色字體的
A:
這個需要源頭處理,找提供接口的人 讓他提供標准的JSON字符串給你不就行了·
這分明是未轉義bug,一個有錯誤的字符串拿來做正則更正?哪有這種道理?
常識上來說,造房子先選好適用的建材,然后組裝,哪里會是 造完了,再拆除壞掉設計不合理的建材這種思路?
應該是
內容->轉義->json
讓對方改,或者屏蔽雙引號
這個是對方的問題了!這樣提供的json格式本身就是錯誤的!!
---------------------------
自己寫個方法 把屬性值中的雙引號改成中文引號就可以了
private static String jsonString(String s){ char[] temp = s.toCharArray(); int n = temp.length; for(int i =0;i<n;i++){ if(temp[i]==':'&&temp[i+1]=='"'){ for(int j =i+2;j<n;j++){ if(temp[j]=='"'){ if(temp[j+1]!=',' && temp[j+1]!='}'){ temp[j]='”'; }else if(temp[j+1]==',' || temp[j+1]=='}'){ break ; } } } } } return new String(temp); }