如何从 Newton.Json.Linq.JToken 转换为 byte[]?

Posted

技术标签:

【中文标题】如何从 Newton.Json.Linq.JToken 转换为 byte[]?【英文标题】:How to convert from Newton.Json.Linq.JToken to byte[]? 【发布时间】:2016-12-04 05:41:47 【问题描述】:

我正在尝试从 Jtoken 中检索字节数组:

byte[] PDF;
var results = JsonConvert.DeserializeObject<dynamic>(jsonData);
if (results != null)

    JArray docList = (JArray)results.SelectToken("");
    foreach (JToken doc in docList)
    
         PDF = string.IsNullOrEmpty(doc["PDF"].ToString()) ? null : doc["PDF"];
    

但我收到此错误:“无法将类型 'newtonsoft.json.linq.Jtoken 隐式转换为 byte[]。存在显式转换(您是否缺少演员表?)”

如何将 Newton.Json.Linq.JToken 转换为 byte[]?

谢谢。

【问题讨论】:

【参考方案1】:

使用为JToken 提供的explicit conversion operator:

PDF = (byte [])(string.IsNullOrEmpty(doc["PDF"].ToString()) ? null : doc["PDF"]);

或者,使用ToObject&lt;T&gt;()

PDF = (doc["PDF"] == null ? null : doc["PDF"].ToObject<byte []>());

【讨论】:

谢谢 :) 我知道这会很简单。

以上是关于如何从 Newton.Json.Linq.JToken 转换为 byte[]?的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从 Firebase 获取所有设备令牌?

如何直接从类调用从接口继承的方法?

如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个

如何从Mac从android studio中的fabric注销? [复制]

如何从设备中获取 PDF 文件以便能够从我的应用程序中上传?