You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Web API中如何用System.Text.Json将动态JSON二进制数组转为byte[]?

将JsonElement数组转换为byte[]的解决方案

核心逻辑

已知attachmentContent是JsonElement类型的数组,且数组内元素为0-255范围内的整数,只需遍历数组元素并转换为byte类型,即可得到目标byte[]。

方法一:循环遍历(直观易读)

// 假设已获取到attachmentContent这个JsonElement数组
List<byte> byteList = new List<byte>();
foreach (JsonElement item in attachmentContent.EnumerateArray())
{
    // 将JSON中的整数转换为byte
    byteList.Add((byte)item.GetInt32());
}
byte[] result = byteList.ToArray();

方法二:LINQ简化写法(简洁高效)

byte[] result = attachmentContent.EnumerateArray()
                                 .Select(item => (byte)item.GetInt32())
                                 .ToArray();

可选:添加范围校验

如果需要确保JSON中的数值都在byte的有效范围(0-255)内,可加入校验逻辑:

byte[] result = attachmentContent.EnumerateArray()
                                 .Select(item => 
                                 {
                                     int intValue = item.GetInt32();
                                     if (intValue < 0 || intValue > 255)
                                     {
                                         throw new ArgumentOutOfRangeException(nameof(intValue), "数组元素超出byte类型的取值范围");
                                     }
                                     return (byte)intValue;
                                 })
                                 .ToArray();

内容的提问来源于stack exchange,提问作者kolaval

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:43:18