La réponse à ta question dépend totalement de la structure de ton fichier json.
Telle que c'est construit, tu peux faire comme çà :
Code : Tout sélectionner
Procedure.s getSubItem(id, name.s, index.l, subname.s)
  Protected value.s
  Protected object.i = JSONValue(id)
  If object
    object = GetJSONMember(object, name)
    If object
      object = GetJSONElement(object, index)
      If object
        object = GetJSONMember(object, subname)
        If object
          value = GetJSONString(object)
        EndIf
      EndIf
    EndIf
  EndIf
  ProcedureReturn value
EndProcedure
json = LoadJSON(#PB_Any, "test.json")
If json
  Debug getSubItem(json, "index3", 0, "sousIndexA")
  Debug getSubItem(json, "index3", 1, "sousIndexA")
  Debug getSubItem(json, "index3", 0, "sousIndexB")
  Debug getSubItem(json, "index3", 1, "sousIndexB")
  FreeJSON(json)
EndIf
Et oui, les balises [  ]  sont utilisées pour définir un tableau, d'où l'argument "index" dans la fonction getSubItem(), car dans ce cas ce n'est accessible que via un index de tableau (et non une clef, dans ton cas).
Ceci dit, il y a probablement mieux à faire selon le contexte d'utilisation.