[英]Handling newlines in data with Json.Net
有什么方法可以處理 JSON.NET 中的換行符。我有一些數據返回,其中包含回車換行符,而 Json.Net 只是將其保留在返回值中。 有沒有辦法強制 Json.Net 將其編碼為 Json。我假設默認情況下會發生這種情況,但它不會發生在我身上。 也許我還缺少其他東西。
如果重要的話,我在 MVC4 WebApi 項目中使用 Json.Net。
我的數據在字符串中返回 \r\n ,例如
"Keywords": "These are my keywords.\r\n\r\n\r\nThis is a second line...\r\n\r\nThis is a third line. ...\r\n\r\n\r\nThis is a 4th line ..."
據我了解,那應該是\\r\\n
。 這可能是我返回的數據有問題,但我只是想看看 JSON.NET 應該用這個做什么。
對我來說,問題是即使序列化的 Json object 在調試器中看起來是正確的,當我將它寫入文件時它會添加所有這些文字(即添加反斜杠)。
它的作用是將獲得的 json 解析為Token
,然后使用該 token 代替。
例如:
// Serialize and convert to Token
string json = Newtonsoft.Json.JsonConvert.SerializeObject(someObject);
var token = JToken.Parse(json);
// Save to file
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(filepath, token);
老實說,我不明白為什么需要這樣做,或者是否有更好的解決方法。 感謝評論中的反饋。
您可以使用Formatting.Indented選項序列化對象。 像這樣:
string yourJsonString = JsonConvert.SerializeObject(yourObject, Formatting.Indented, new JsonSerializerSettings { });
我認為這應該有效。
問候。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.