In meinem Code ich Json habe ein Cookie Objekt serialisiert und gibt es als String, Deserialize zu diesem Zweck ich so tun:eine Json serialisiert Cookie
var json = Newtonsoft.Json.JsonConvert.SerializeObject(resp.Cookies);
an folgenden json resultierenden
[
{
"Comment": "",
"CommentUri": null,
"HttpOnly": false,
"Discard": false,
"Domain": "www.site.com",
"Expired": true,
"Expires": "1970-01-01T03:30:01+03:30",
"Name": "version",
"Path": "/",
"Port": "",
"Secure": false,
"TimeStamp": "2015-06-01T12:19:46.3293119+04:30",
"Value": "deleted",
"Version": 0
},
{
"Comment": "",
"CommentUri": null,
"HttpOnly": false,
"Discard": false,
"Domain": ".site.com",
"Expired": false,
"Expires": "2015-07-31T12:19:48+04:30",
"Name": "ADS_7",
"Path": "/",
"Port": "",
"Secure": false,
"TimeStamp": "2015-06-01T12:19:46.3449217+04:30",
"Value": "0",
"Version": 0
}
]
deserialisieren dieses json ich so etwas wie dies tun wollte:
var cookies = Newtonsoft.Json.JsonConvert.DeserializeObject<CookieCollection>(json);
aber es funktioniert nicht und heben JsonSerializationException
System.Net.CookieCollection Kann nicht erstellen und füllen Listentyp zu sagen. Pfad ‚‘, Zeile 1, Position 1.
Also änderte ich meinen Code auf die folgende und seine Arbeit jetzt
var tmpcookies = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Cookie>>(json);
CookieCollection cookies = new CookieCollection();
tmpcookies.ForEach(cookies.Add);
ich gerade fragen, warum mein erster Versuch fehlschlägt? und wenn es einen schöneren Weg gibt, es zu tun.
Wie http://stackoverflow.com/questions/27449717/newtonsoft-json-cannot-create-and-populate-list-type sagt ... Versuchen Sie, List anstelle von CookieCollection zu verwenden. Sie können es in Liste nach Liste konvertieren cookieList = cookieCollection.OfType () .ToList(); –
@PaulZahra Ich habe es bereits als Liste! Meine Frage ist, warum dieses 'Newtonsoft.Json.JsonConvert.DeserializeObject (json);' fehlschlägt! –
HadiRj
Wie ist CookieCollection Cookies = neu CookieCollection(); das gleiche wie Liste? –