JSON

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Lutin
Messages : 7
Inscription : mer. 10/mai/2017 14:22

JSON

Message par Lutin »

Bonjour,

Je viens de réussir à créer un tableau à deux dimensions qui comporte 150 lignes et 36 colonnes :

Code : Tout sélectionner

  Dim TableauMultiple.s(35, 149)
  For i = 0 To 35
    For z = 0 To 149
   
    XY.s = "L" + Str(z) + "C" + Str(i)
      Debug XY
      TableauMultiple (i,z) = XY
    Next z
  Next i
J'aimerais maintenant sauvegarder ce tableau au format JSon dans mon répertoire "C:\Sauvegarde\exemple.json" et pouvoir le recharger plus tard.

J'ai regardé dans la doc et le forum, mais je ne m'en sors pas.

Pouvez-vous m'aider ?

Merci d'avance.
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: JSON

Message par TazNormand »

Salut Lutin,

Une réponse possible fait d'après la doc de PB sur le JSON, ne sachant pas quelle structure JSON tu attends en sortie :

Code : Tout sélectionner

If CreateJSON(0)
  Dim TableauMultiple.s(35, 149)  
  Objet = SetJSONArray(JSONValue(0))
  For i = 0 To 35
    For z = 0 To 149
      
      SetJSONInteger(AddJSONElement(Objet), z)
      SetJSONInteger(AddJSONElement(Objet), i)
        
      XY.s = "L" + Str(z) + "C" + Str(i)
      Debug XY
      TableauMultiple (i,z) = XY
    Next z
  Next i
  
  Debug ComposeJSON(0, #PB_JSON_PrettyPrint)
  
  ; Sauver le fichier JSON
  fichier=SaveJSON(0,"MonFichierJSON.txt",#PB_JSON_PrettyPrint)
EndIf
PS : j'ai modifié ton topic pour que le code apparaisse entre des balises "code"
Image
Image
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: JSON

Message par falsam »

Plus simplement

■ Creation et Sauvegarde du tableau.

Code : Tout sélectionner

Dim TableauMultiple.s(35, 149)

;Creation des données 
For i = 0 To 35
  For z = 0 To 149
    XY.s = "L" + Str(z) + "C" + Str(i)
    TableauMultiple (i,z) = XY
  Next z
Next i

;Sauvegarde des données 
If CreateJSON(0)
  InsertJSONArray(JSONValue(0), TableauMultiple())
  Debug ComposeJSON(0, #PB_JSON_PrettyPrint)
  SaveJSON(0, "example.json")  
EndIf
■ Lecture du tableau sauvegardé.

Code : Tout sélectionner

;Déclaration du tableau à deux dimensions. 
;Inutile de définir la taille
Dim TableauMultiple.s(0, 0) 

;Lecture du fichier JSON sauvegardé 
If LoadJSON(0, "example.json")
  
  ;Extraction des données dans le tableau. 
  ;Le tableau sera automatiquement redimensionné
  ExtractJSONArray(JSONValue(0), TableauMultiple())
EndIf

;Controle
For i = 0 To 35
  For z = 0 To 149
    Debug TableauMultiple(i, z)
  Next
Next
PS : Sauvegarder chacun de ces codes au préalable.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Lutin
Messages : 7
Inscription : mer. 10/mai/2017 14:22

Re: JSON

Message par Lutin »

Bonjour TazNormad et Falsam, désolé de ne pas avoir pu vous remercier plus tôt. C'est super gentil. Merci beaucoup.

Lutin
Lutin
Messages : 7
Inscription : mer. 10/mai/2017 14:22

Re: JSON

Message par Lutin »

Génial, merci encore

Lutin
Répondre