2017-08-24 43 views
0

我的應用程序中有一個表單字段(textarea),它可能包含雙引號("")。對於一個JSONString,我寫了一個小的「設置」,之後發送。我遇到了這個問題,如果用戶使用雙引號,我的設置就會中斷。從表單字段中轉義或替換雙引號

這是它的樣子至今:

dim payload 
payload = payload & "{""short_description"":""" & Replace(Replace(trim(shortDesc),chr(10),""), chr(13), "") & """," 
payload = payload & """description"":""" & Replace(Replace(trim(Description),chr(10),""), chr(13), "") &"""," 
payload = payload & """u_requester"":"""& sgi &"""," 
payload = payload & """contact_type"":""Self-service""," 
payload = payload & """cmdb_ci"":""" & system &"""," 
payload = payload & """u_category"":""" & category & """}" 

而只是在那裏我用它告訴你:

With http 
    Call .Open("POST", url, False) 
    Call .SetRequestHeader("Accept", "application/json") 
    Call .SetRequestHeader("Content-Type", "application/json") 
    Call .Send(payload) 
End With 

在這種方法中使用的變量參數在當前功能。 我想過轉義雙引號,但我不知何故只是在網站上建議我應該使用chr(34)Response.Write,這不是我正在尋找的。

我也嘗試使用Replace功能全,類似我怎麼會在PHP中做到這一點:

Replace(myvar, '"'; "'")

但正如你可能想通了,一個單引號開始在傳統的ASP評論。我怎樣才能擺脫這裏的雙引號?如果我將"轉換爲'或保留雙引號,這並不重要。任何建議表示讚賞

回答

0

如果您需要在asp中的字符串中可見的雙引號,則需要將其加倍。

​​

如果你想更換一個雙引號,

str = Replace(str,"""","") 
0

顯示在一個JSON字符串雙引號(或單引號),你需要逃避它:

str = "this is a ""test""." 
strForJson = Replace(str, """", "\""")