Ich benutze azure Blob Speicher um eine JSON Datei zu speichern und in meinem Code lade ich sie mit den C# APIs herunter.CloudBlockBlob.DownloadTextAsync gibt ungültigen Text zurück
Wenn ich den Inhalt der Textdatei herunterlade und versuche, ihn mit JsonConvert zu deserialisieren, erhalte ich einen Fehler (der Visual Studio JSON-Visualizer zeigt auch einen Fehler für den Text an). Wenn ich jedoch den Text kopiere und in JSONLint.com einfüge, scheint es in Ordnung zu sein. Wenn ich die Datei manuell von Azure Storage herunterlade und die Datei im Code lese, wird die Deserialisierung problemlos durchgeführt. Irgendwelche Ideen, warum ich ungültige Daten bekomme, wenn ich die C# APIs herunterlade?
var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blob = container.GetBlockBlobReference(folderAndFileName);
var text = await blob.DownloadTextAsync();
var obj = JsonConvert.DeserializeObject(text);
// Exception: "Unexpected character encountered while parsing value: . Path '', line 0, position 0."
Hinweis: Ich bin das Hochladen der Datei über Powershell:
$blobProperties = @{"ContentType" = "application/json"};
Set-AzureStorageBlobContent -Container $containerName -File $LocalFilePath -Blob $RemoteBlobName -BlobType "Block" -Properties $blobProperties
Ihr Code sieht für mich OK aus. Können Sie die Version der verwendeten Speicherclient-Bibliothek angeben? Wird es Ihnen auch möglich sein, die von Ihnen hochgeladene JSON-Datei freizugeben? Ich möchte es mit dieser Datei versuchen. –