根据长度拆分Json阵列
本文关键字:Json 阵列 拆分 | 更新日期: 2023-09-27 17:59:52
我需要使用GPG加密JSON数组,当长度超过2083个字符后,我需要拆分需要低于2083个字的JSON数组。
为了实现这一点,我将首先对数组进行加密,并检查其长度是否低于2083。如果超过2083,我将把数组拆分为多个数组,然后进行加密。
做这件事的更好方法是什么?
例如:
var a = new List<int> { 1,2,3 etc};
当我加密这个数组时,只需考虑字符串将类似于这个
hQEMA%2Fgo0kYbZeCoAQf8DDemzoWdhq97ULWXvTw4v1fFMq%2F%2BO9z%2FYClDvON
假设上面的字符串超过2083个字符,我会像下面这样拆分数组,然后再次加密。
var a = new List<int> { 1,2};
var b = new List<int> { 3, 4};
var c = new List<int> { 5, 6 etc.};
有什么想法吗?
我会创建一个这样的方法并递归调用它。请注意,该方法也是通用的,因此它不限于List<int>
,如果您的情况不需要,请删除它。
private const int maxLength = 2083;
public List<string> EncryptList<T>(List<T> list)
{
List<string> encryptedLists = new List<string>();
string encrypted = PerformEncryption();
if (encrypted.Length > maxLength)
{
encryptedLists.AddRange(EncryptList<T>(list.Take(list.Count / 2).ToList()));
encryptedLists.AddRange(EncryptList<T>(list.Skip(list.Count / 2).ToList()));
}
else
{
encryptedLists.Add(encrypted);
}
return encryptedLists;
}
请注意,我还没有测试过这段代码,所以if语句中的部分可能无法正常工作。