C#中byte[]类型怎么放到json里面传输
时间: 2023-12-06 15:05:13 浏览: 71
c#实现object与byte[]互转
3星 · 编辑精心推荐
在 C# 中,将 `byte[]` 类型的数据放到 JSON 中传输,需要将其转换为字符串类型,并且在传输过程中需要注意数据的编码问题。
一种常用的方法是将 `byte[]` 数组转换为 Base64 编码的字符串,然后将字符串放入 JSON 中传输。在接收方,再将 Base64 编码的字符串转换为 `byte[]` 数组。
以下是示例代码:
```csharp
// 将 byte[] 数组转换为 Base64 编码的字符串
byte[] bytes = File.ReadAllBytes(@"C:\test.jpg");
string base64String = Convert.ToBase64String(bytes);
// 将 Base64 编码的字符串放入 JSON 中传输
var data = new {
Name = "Test",
Image = base64String
};
string jsonData = JsonConvert.SerializeObject(data);
// 在接收方,将 Base64 编码的字符串转换为 byte[] 数组
var dataObj = JsonConvert.DeserializeObject(jsonData);
string base64String = dataObj.Image.ToString();
byte[] bytes = Convert.FromBase64String(base64String);
```
需要注意的是,如果在传输过程中涉及多个系统或平台,需要确保它们都使用相同的编码方式,否则可能会导致数据解码失败。
阅读全文