2016-01-28 23 views
0

這裏它的鍵和值的字符串數據是我們在雙引號「鑰匙」包裹sammple數據:以格式「值」:格式使用正則表達式爲JSON鍵值對

{ personal_DIN:個人_Tin:{},individual_NPI_Id:{個人:{individual_Suffx:,individual_F名稱:XYZ,individual_LName:ABC,individual_Emplyee_Title:BOARD SECRETARY & PRESIDENT/CEO,individual_Directng_MName:MNO,individual_DOB:1960-05-21} {},individual_OrgIndvdl:[{Ownrshp_MngngCntrl_EfctvDt:2009-11-30,Ownrshp_MngngCntrl_RoleCd:W},{Ownrshp_MngngCntrl_EfctvDt:2009-11-30,Ownrshp_MngngCntrl_RoleCd:10},{Ownrshp_MngngCntrl_EfctvDt:2009-11-30,Ownrshp_MngngCntrl_RoleCd:15}],Mngng_Mdcr :{}},{Mngng_Indvdl:{Mngng_Indvdl_FName:TIMOTHY,Mngng_Ind vdl_LName:託雷,Mngng_Indvdl_MName:C,Mngng_Indvdl_DOB:1958年7月2日},Mngng_Tin:{},Mngng_NPI_Id:{},Mngng_OrgIndvdl:{OwnrshpIntrst_MngngCntrl_EfctvDt:2014-05-01,Ownrshp_MngngCntrl_RoleCd:W},Mngng_Mdcr:{}}}}

+0

請說明你想要什麼樣的輸出。 – shmosel

+0

鍵和值應該用雙引號括起來,比如json數據。 –

+0

如果您序列化爲json,則應該已經有引號 –

回答

1

不知道這是否會覆蓋所有角落的情況,但是這正則表達式應該爲你的工作,例如:

String json = ... 
json = json.replaceAll("[^{}\\[\\]:,]+", "\"$0\""); 
+0

感謝shmosel,它工作。 –

+0

可以修改解決方案以跳過整個單詞的逗號。例如地址:第1行,第2行,名稱:abc。地址中的逗號不應被視爲整個單詞。 –

+0

@ShaikMujahidAli不是真的。設想一下數組中的值:應該將[line 1,line2,name]解析爲'[「line 1」,「line2」,「name」]或'[「line 1,line2,name」]' ?沒有辦法知道...... – shmosel