如何从 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<T>()
:
PDF = (doc["PDF"] == null ? null : doc["PDF"].ToObject<byte []>());
【讨论】:
谢谢 :) 我知道这会很简单。以上是关于如何从 Newton.Json.Linq.JToken 转换为 byte[]?的主要内容,如果未能解决你的问题,请参考以下文章
如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数
如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个