C# 在c中将jarray转换为字节数组#
我需要以某种方式将jarray转换为c#中的字节数组,以便显示适当的图像。调用是通过RESTful web服务进行的,作为响应,我得到以下(示例)值: [255,216,255,224,0,16,74,70,73,70,0,1,1,1,0,96,0,96,0,0,255,219,0,67,0,4,2,3,3,3,2,4,3,3,3,4,4,4,4,5,9,6,5,5,5,5,11,8,8,6,9,13,11,13,13,13,11,12,12,14,16,20,17,14,15,19,15,12,12,18,24,18,19,21,22,23,23,23,14,17,25,27,25,22,26,20,22,23,22,255,219,0,67,1,4,4,4,5,5,5,10,6,6,10,22,15,12,15,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22, 注意:我修剪了值的内容,但这是我得到的响应数据。 现在,这就是我获取值的方式:C# 在c中将jarray转换为字节数组#,c#,asp.net,asp.net-mvc,c#-4.0,json.net,C#,Asp.net,Asp.net Mvc,C# 4.0,Json.net,我需要以某种方式将jarray转换为c#中的字节数组,以便显示适当的图像。调用是通过RESTful web服务进行的,作为响应,我得到以下(示例)值: [255,216,255,224,0,16,74,70,73,70,0,1,1,1,0,96,0,96,0,0,255,219,0,67,0,4,2,3,3,3,2,4,3,3,3,4,4,4,4,5,9,6,5,5,5,5,11,8,8,6,9,13,11,13,13,13,11,12,12,14,16,20,17,14,15,19,15,12
foreach (JObject obj in arr)
{
JArray jar = new JArray();
jar = obj["Thumbnail"] as JArray;
}
如何将该值转换为字节[],以便在mvc视图中显示图像?
提前感谢,您可以使用
String
方法和LINQ
获取字节数组:
byte[] bytes = response.Trim('[', ']')
.Split(',')
.Select(x => byte.Parse(x))
.ToArray();
为什么你要创建一个新的
JArray
,然后立即忽略它?@JonSkeet我把JArray放在这里只是为了说明我是如何尝试的,如果有更好的方法来使用数据,请随时告诉我。谢谢我的意思是,你的循环体最好是JArray jar=obj[“缩略图”]作为JArray;
。永远不要只给变量赋值,然后立即赋值。你的意思是转换到字节而不是int
?在我的情况下,我需要放什么来代替响应?
byte[] bytes = responce.Split(',').Select(s => Convert.ToByte(s, 16)).ToArray();
byte[] byteItems = myJArray.Split(',').Select(z => byte.Parse(z)).ToArray();
If you dun't need to split then
byte[] byteItems = myJArray.Select(z => byte.Parse(z)).ToArray();