Guten Abend,WebClient Encoding Ausgabe
ich eine JSON-Datei von einem CDN herunterzuladen, die mir eine 12kb Datei gibt. Ich habe diese Datei (export.json) geöffnet und überprüft, dass alle vom Codierungsstandpunkt aus korrekt aussieht und JSON-Standard-Syntax ist.
Ich verwende den folgenden Code, um es zu meinem Server herunterzuladen, damit ich es analysieren kann:
//webclient downloads the JSON file
var webClient = new WebClient();
webClient.Encoding = System.Text.Encoding.UTF8;
string result = string.Empty;
try
{
result = webClient.DownloadString("somewebsite/export.json");
File.WriteAllText(@"C:\Users\WebDev\Documents\Visual Studio 2015\WebSites\test\json.json", result);
}
catch (Exception ex) {
System.Diagnostics.Debug.Write(ex);
}
//parses downloaded file
Newtonsoft.Json.Linq.JObject o = Newtonsoft.Json.Linq.JObject.Parse(File.ReadAllText(@"C:\Users\WebDev\Documents\Visual Studio 2015\WebSites\test\json.json"));
//creates a dictionary at the outer object level (key=id and value=inner object
var dict = JsonConvert.DeserializeObject<Dictionary<string, object>>(o.ToString());
ich auch die Downloadfile-Methode ausprobiert habe. Jedes Mal bekomme ich so etwas in der .JSON-Datei, die ich generiere " b X export.json.tmp \ R H ~ : ) u b @"
Irgendwelche Ideen, was ich vermisse? Vielen Dank.
Versuchen Sie [diese Lösung] (http://stackoverflow.com/a/30049848/3744182), die die Codierung aus den Antwortheadern erhält. – dbc