Salesforce Apex 的数组表示法
Array notation with Salesforce Apex
在 Salesforce Apex 中,我正在尝试创建一个多维数组,稍后我可以将其序列化为 JSON。
在 PHP 我会这样做:
$form['fields'][$element[1]][$element[2]] = $data;
但我似乎找不到使用 Apex 轻松完成此操作的方法...任何人都可以指导我正确的方向吗?
您可以在 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>>
。
我在使用以下代码后整理的东西:
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);
}
感谢丹尼尔给我指明正确的方向!
在 Salesforce Apex 中,我正在尝试创建一个多维数组,稍后我可以将其序列化为 JSON。
在 PHP 我会这样做:
$form['fields'][$element[1]][$element[2]] = $data;
但我似乎找不到使用 Apex 轻松完成此操作的方法...任何人都可以指导我正确的方向吗?
您可以在 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>>
。
我在使用以下代码后整理的东西:
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);
}
感谢丹尼尔给我指明正确的方向!