Как извлечь байтовый массив из массива JSON пар ключ: значение - PullRequest
0 голосов
/ 28 марта 2019

В веб-службе я преобразовал документ Word, сохраненный в элементе списка, в байтовый массив, используя:

document.Bytes = item.File.OpenBinary ();

затем объединил его с некоторыми другими данными для получения следующего вывода JSON:

{"Bytes":[208,207,17,224,161,177,26,225,0,0,0,0,0,etc., etc.],"Status":"Pending","Title":"Handbook","Version":"1"}

На приемном конце я хочу извлечь документ Word. Это код, который я сейчас использую, чтобы попытаться извлечь байтовый массив, но просто не могу заставить его работать. Должно быть, я здесь на неправильном пути.

Есть мысли или идеи о том, как к этому подойти? Сначала это казалось простым делом, но потратило часы моего времени!

Примечание. В приведенном ниже коде GetDoc (url) вызывает веб-службу, которая создает JSON

using Newtonsoft.Json.Linq;
public byte[] GetJSONBytes(string url)
{   
    string ReturnJSON = GetDoc(url);  
    var objects = JArray.Parse(ReturnJSON); // parse as array  
    foreach (JObject root in objects)
        {
            foreach (KeyValuePair<String, JToken> app in root)
            {
                var appKey = app.Key;
                if (appKey == "Bytes")
                {
                    return (byte[])(app.Value);
                }
            }
        }
        return null;
    }

Когда он попадает в очередь:

return (byte []) (app.Value);

Я получаю следующее сообщение об ошибке:

System.ArgumentException: «Не удается преобразовать массив в байтовый массив.»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...