0
預先;我使用的是舊版本的Newtonsoft.Json(4.0.8.0)。使用屬性名稱中的非法字符轉換JSON
因此,我正在嘗試爲Web服務器應用程序編寫.NET客戶端。 要將所有傳入的數據包從json結構轉換爲.NET對象,我使用帶有內置函數JToken.ToObject的JSON序列化程序。 這要求目標.net類具有與傳入的json數據完全一樣命名的所需屬性。
現在我遇到了一個數據包,其中包含C#範圍內的無效屬性名稱(.NET總體上我認爲)。 看起來像這樣。
「12345」:{
"Name1/Part2": {} "Name2/Part2": {} "Name3/Part2": {} "Name4/Part2": {} "Name5/Part2": {}
}
相等.NET代碼將是。
class DataPacket {
public DummyObject 12345 {get; set;}
public class DummyObject {
public object Name1/Part2 {get; set}
public object Name2/Part2 {get; set}
public object Name3/Part2 {get; set}
public object Name4/Part2 {get; set}
public object Name5/Part2 {get; set}
}
}
其中所有屬性名稱都是非法的('以數字開頭','非法字符 - > /')。
任何想法如何我可以解決這個問題與牛頓軟件的主要版本4?
非常感謝
使用JsonProperty屬性指定要映射到whit類prop的json prop名稱。 '[JsonProperty(JSON名稱)]' – Plutonix
嗨Plutonix,這工作得很好。非常感謝你! – user3411789
請參閱[如何解析會導致非法C#標識符的JSON字符串?](https://stackoverflow.com/questions/24536533/how-can-i-parse-a-json-string-that-would-cause -illegal-C-尖銳的標識符/ 24536739#24536739)。 – dbc