List 将多维列表转换为Blob

List 将多维列表转换为Blob,list,salesforce,type-conversion,blob,apex,List,Salesforce,Type Conversion,Blob,Apex,我有一个列表,我想转换成一个Blob。我首先尝试将列表转换为长字符串,如下所示: List<Contact_Deals__c> result = ...SOQL Query... String strSobjects = null; for(integer i=0;i<result.size();i++){ If(strSobjects == null){ strSobjects = String.valueOf(result2[i]); }

我有一个列表,我想转换成一个Blob。我首先尝试将列表转换为长字符串,如下所示:

List<Contact_Deals__c> result = ...SOQL Query...    

String strSobjects = null;
for(integer i=0;i<result.size();i++){
   If(strSobjects == null){
      strSobjects = String.valueOf(result2[i]);
    }
    Else{
        strSobjects = strSobjects  + ','+String.valueOf(result[i]);
    }
 }
Document resultD = new Document(); 
resultD.Name = 'ResultCSV'; 
Blob myBlob = Blob.valueof(strSobjects);
resultD.body = myBlob;
这对于二维列表很有效,但现在我的列表已经很深了。真的很深。我是否应该尝试编写一个递归调用来将其全部转换为一个大字符串(它是JSON格式,因此可以在以后进行解析),还是有更好的方法将此列表转换为blob

编辑:这将不得不在SF apex中工作,这有点有限。似乎写入blob的唯一方法是通过字符串(这很明显吗?blob对我来说是新的):

谢谢大家


Zac

您列表中的所有内容都可以序列化吗?如果是这样,您是否尝试过序列化整个列表?OutputStream out=blob.setBinaryStream(0),然后将整个列表序列化为该值?数据应可序列化。它可以转换为文本(是否有无法序列化的东西可以转换为文本?)。我试图查找如何使用OutputStream,但运气不佳。也许你能给我指出正确的方向?而且,似乎salesforce apex不支持OutputStream。。。