Nous consommons de grands flux JSON à partir d'une requête HTTP Post. Le but est de diffuser le corps entrant en JSON en utilisant JsonTextReader et d'extraire les fichiers binaires codés en base64 incorporés sur le disque. En XML, une méthode équivalente peut être XMLReader.ReadElementContentAsBase64Async.Transmettre la chaîne codée Base64 en utilisant la valeur JsonTextReader comme nouveau flux
En utilisant JSON.NET, comme nous itératif comment nous envoyons chaque élément du tableau encodedImages dans un FileStream sans contenir toute la chaîne en mémoire.
Exemple JSON Objet:
{
"company":"{clientCompany}",
"batchName":"{clientBatchName}",
"fileType":"{clientFileType}",
"encodedImages":[
"{base64encodedimage}",
"{base64encodedimage}",
"{base64encodedimage}"
],
"customFields":{
"{clientCustomField1}":"{clientCustomValue}",
"{clientCustomField2}":"{clientCustomValue}",
"{clientCustomField3}":"{clientCustomValue}",
"{clientCustomField4}":"{clientCustomValue}"
}
}
Je ne pense pas. [cette question] (https://stackoverflow.com/q/46365304/3744182) n'a jamais été résolue, ce qui semble avoir conduit à l'édition # 1462 [Ajouter la lecture mise en mémoire tampon des données binaires à JsonTextReader # 1462] (https: // github .com/JamesNK/Newtonsoft.Json/issues/1462). – dbc
@dbc Il semble que ce problème a été soulevé il y a 1 heure et la question a été posée il y a environ 3 semaines. Peut-être que nos discussions combinées augmenteront la notoriété :-) –
Vous pouvez toujours ajouter un commentaire au numéro 1462 indiquant que vous aimeriez aussi cette capacité. – dbc