2015-03-19 5 views
2

Dans Salesforce Apex, j'essaie de créer un tableau multidimensionnel que je peux ensuite sérialiser en JSON.Notation matricielle avec Salesforce Apex

En PHP je le ferais en tant que tel:

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

Mais je ne peux pas sembler trouver un moyen de faire facilement cela avec Apex ... quelqu'un peut-il me guider dans la bonne direction?

Répondre

1

chose que je l'ai triée après avoir utilisé le code suivant:

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); 
} 

Merci de me pointer dans la bonne direction Daniel!

1

Vous pouvez avoir une liste de listes dans Apex. Cela vous permet de créer des tableaux dentelés (comme vous devez vous assurer que chaque sous-liste a la taille requise).

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]); 

Vous pouvez également envisager un Map<String, List<String>> si vous voulez trouver des sous listes par clé.

+0

Donc, dans mon cas, je suis en boucle à travers l'entrée de forme dans le contrôleur apex et la compilation de ces tableaux. Je dois donc pouvoir ajouter des paires clé/valeur en fonction d'une étiquette. Alors, comment est-ce que j'ai eu directement sur une liste dans la carte que vous avez fournie une chaîne pour le paramètre? –