我有這樣的擴展功能:定義JProperty.Value(集)的字符串轉換設置
<Extension> Sub SetPropertiesValue(jsontoken As JToken,
propertypath As String,
newvalue As Object)
Dim jsonproperties = jsontoken.SelectTokens(propertypath).OfType(Of JValue).Select(Function(jv) jv.Parent).OfType(Of JProperty)
For Each jp In jsonproperties
jp.Value = newvalue
Next
End Sub
當我通過爲newvalue
非ASCII字符的字符串,如「Açúcar山」,它集財產"propertyname" : "açúcar"
。
如何告訴JSON.NET轉義非ASCII字符,以便操作的結果爲"propertyname" : "a\u00e7\u00facar"
?
儘管在JSON和Json.NET中肯定會有這種情況,但您確定要解決需要解決的問題並在正確的位置解決問題嗎? JSON文件和數據流需要使用Unicode編碼,因此不必進行此類轉義。事實上,VB源文件的故事有點類似。如果需要,VB源文件_can_可以用非Unicode編碼進行編碼,但如同JSON一樣,內容最終是Unicode。 (JSON和VB通常使用Unicode編碼之一的UTF-8進行編碼)。那麼你想要解決什麼問題? –
那麼,至於我的理由,我編寫了一個程序,通過規避其接口並通過http請求將json postdata直接發送到服務器,從而將大量數據發送到Intranet應用程序,並且工作正常。但它是通過在模板json字符串上查找和替換來實現的,並且我希望使用JToken更一致地執行此操作。由於我所檢查的所有通信都逃避了所有非ASCII字符,我希望不會有所不同。 – VBobCat