如何从key:value对的JSON数组中提取字节数组

时间:2019-03-28 14:11:34

标签: c# sharepoint

在Web服务中,我已使用以下命令将存储在列表项中的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的Web服务

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;
    }

上线时:

返回(byte [])(app.Value);

我收到以下错误消息:

System.ArgumentException:'无法将Array转换为字节数组。'

0 个答案:

没有答案