iT邦幫忙

0

關於使用Newtonsoft.json DLL及Escaped character問題

本人目前開發時遇到以下問題
當接收到對方回應的json中有包含跳多字元時
例:
resJson="{"type"="\ /AKT123"}"

當我執行轉為物件的語法後,該元件會將跳脫字元remove

resInfo = JsonConvert.DeserializeObject(Of resBody)(resJson)
則接收到的值會變為
resInfo.type="/AKT123"

但我再將此物件轉為json字串時,
Dim tofntJson AS string =""
tofntJson=JsonConvert.SerializeObject(resInfo)
該元件並未幫我在轉換過程中加入跳脫字元

tofntJson="{"type"="/AKT123"}"

=========================================================

後來我再轉換前,在resInfo.type的object中先自行加入跳多字元
resInfo.type="\ /AKT123"
再轉換為字串
Dim tofntJson AS string =""
tofntJson=JsonConvert.SerializeObject(resInfo)

tofntJson="{"type"="\ /AKT123"}"
下一個步驟我在前端在把字串轉為物件時,卻又沒把跳脫字元給remove
JsonConvert.DeserializeObject(Of resBody)(resJson)
resInfo.type="\ /AKT123"

不知各位在使用此元件時有沒有發生過類似問題?請指教

小魚 iT邦大師 1 級 ‧ 2018-04-16 11:54:03 檢舉
跳脫字元是一定必要的嗎?
能不能不要那些跳脫字元?
untitled iT邦新手 5 級 ‧ 2018-04-16 12:02:02 檢舉
我在思考是不是有考量到javascript取得json字串時會遇到此問題才會發生,但我反覆的轉換只有第一次出現跳脫字元,後續就沒再發生自動加入'\'及移除'\'的情況
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答