Since you cannot use @ in the name of the C # token, you will need to map @size to something else, such as “SizeString” (since this is the line in your JSON above). I use the WCF data contract attribute, but you can use the equivalent JSON attribute
... [DataMember(Name = "@size")] public string SizeString { get; set; } ...
Below is an example of Json string deserialization. Perhaps you can adapt to your situation or clarify your question.
... string j = @"{ ""@size"": ""13"", ""text"": ""some text"", ""Id"": 483606 }"; MyClass mc = Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>(j); ... [DataContract] public class MyClass { [DataMember(Name="@size")] public string SizeString { get; set; } [DataMember()] public string text { get; set; } [DataMember()] public int Id { get; set; } }
If you do not plan to load Json into a predefined class, you can do the following ...
var o = JObject.Parse(j); var x = o["text"]; var size = o["@size"];
source share