2016-10-06 57 views
0

我正試圖圍繞以下幾點彎曲我的頭。我有一個返回的MediaInfo,就像這樣的WebAPI服務:如何在Web API中使用unescape字符串屬性

public List<MediaInfo> Get(string id) 

其中的MediaInfo只是一個DTO爲:現在

public class MediaInfo 
{ 
    public string File { get; set; } 
    public string Folder{ get; set; } 
} 

,在文件夾屬性中存儲有路徑,如「\\東西10.xxx \共享\文件夾」

當結果來自的WebAPI後面的反斜槓轉義像這樣:

[ 
    { 
    "File": "GBHIST002242_RUS_xxx_HD_1.mp4", 
    "Folder": "\\\\10.x.x.x\\share\\folder\\Archive" 
    } 
] 

我似乎無法獲得WebAPI或JSON.Net以避免文件夾的內容。我怎樣才能讓WebAPI/JSON.Net格式化程序單獨離開Folder屬性?

[更新]:請參見下面

+0

不應將'\ 10.x.x.x \ share \ foldername'設爲'\\ 10.x.x.x \ share \ foldername'?我無法解釋你如何從一個反斜槓到每個4的轉義。如果你打印文件夾字符串到屏幕,一切都應該罰款。 – Marco

+0

是的,這是stackoverflow.com格式化程序的一個轉義問題:-),將解決這個問題。另外,結果直接從屏幕上覆制(chrome)。當我使用IE瀏覽器時,我可以將Json保存在文本文件中,並且也包含重複的反斜槓。 – Tom

回答

1

我傻我的回答,額外的反斜線是有原因的:沒有他們,它不再是有效的JSON。請參閱序列化包含反斜槓的字符串與Json.Net

此外,當您將json修改爲所需的(不正確)格式並驗證類似於https://jsonformatter.curiousconcept.com/的內容時,您會收到驗證錯誤。

總而言之,這只是缺乏JSON知識。

+0

因此,在回答原始問題時,如何避開字符串:正常地反序列化JSON! –