使用Salesforce Apex的数组表示法

时间:2015-03-19 21:56:01

标签: php arrays salesforce apex

在Salesforce Apex中,我正在尝试创建一个多维数组,稍后我可以将其序列化为JSON。

在PHP中我会这样做:

$form['fields'][$element[1]][$element[2]] = $data;

但我似乎找不到一种方法可以轻松地用Apex做到这一点......任何人都可以引导我朝着正确的方向前进吗?

2 个答案:

答案 0 :(得分:1)

您可以在Apex中拥有列表列表。这允许您创建锯齿状数组(因为您需要确保每个子列表具有所需的大小)。

List<List<String>> fruit = new List<List<String>> {
    new List<String>{'banana', 'apple', 'pear'},
    new List<String>{'grape', 'tomato', 'orange'},
    new List<String>{'peach', 'plum', 'strawberry'}
};

System.debug(fruit[1][2]);

如果您想按键查找子列表,可能还需要考虑Map<String, List<String>>

答案 1 :(得分:1)

我在使用以下代码后对其进行了排序:

Map<String, Map <String, String>> fieldsMap = new Map<String, Map <String, String>>();

if(fieldsMap.containsKey(keyArray[1])){
    fieldsMap.get(keyArray[1]).put(keyArray[2], m.get(key));
}

else {
     Map<String,String> newMap = New Map<String,String>();
     newMap.put(keyArray[2], m.get(key));

     fieldsMap.put(keyArray[1], newMap);
}

感谢你指出我正确的方向丹尼尔!