Italian B4J - File JSON

marco.canta

Active Member
Licensed User
Longtime User
Buonasera, ho necessità di realizzare un programma con B4J che interscambi dati con un applicativo, il mezzo di scambio sarà un file Json.
Ho studiato qualcosa ma ho trovato molto su B4A e non B4J, ho provato a scrivere qualche riga di codice ma non funziona.
Mi potete aiutare ? Cè qualche esempio di codice ?

Grazie Marco
 

marco.canta

Active Member
Licensed User
Longtime User
Sto facendo progressi, riesco a scrivere un file JSON con le informazioni che mi occorrono usando il codice seguente

B4X:
   Dim MapS As Map
    MapS = CreateMap("serviceId"   : "4", "serviceName"    : "Service", "serviceCode"  : "F", "serviceIsActive"    : False, "lastNumber"  : 21,"nowServing"  : 14)

    Dim JSONGenerator As JSONGenerator
    JSONGenerator.Initialize(MapS)

ora il problema che non riesco a risolvere è che ho la necessità di inserire nel MapS che delle variabili al posto del "4" ... "Service" ... "F" .... ecc
ma non riesco a trovare la strada per farlo.

Qualche suggerimento ?

Grazie Marco
 

emexes

Expert
Licensed User
upload_2019-9-11_2-28-1.png
 

marco.canta

Active Member
Licensed User
Longtime User
ho provato ...

B4X:
    MapS.Put("serviceId","4")
    MapS.Put("serviceName","Service")
    MapS.Put("serviceCode","J")
    MapS.Put("serviceIsActive",True)
    MapS.Put("lastNumber","8")
    MapS.Put("nowServing","12")

il problema che che rispetto al "CreateMap" non posso inserire le virgole importanti per la creazione del file JSON
 

marco.canta

Active Member
Licensed User
Longtime User
risolto ...
B4X:
    Dim Val_Id As String = "82"
    Dim Val_SevName As String = "Service"
    Dim Val_SrvCode As String = "K"
    Dim Val_SrvActv    As Boolean = True
    Dim Val_LastNum As Int = 32
    Dim Val_NowServ As Int = 46

    Dim MapS As Map
    MapS = CreateMap("serviceId"   : Val_Id, "serviceName"    : Val_SevName, "serviceCode"  : Val_SrvCode, "serviceIsActive"    : Val_SrvActv, "lastNumber"  : Val_LastNum,"nowServing"  : Val_NowServ)
 

emexes

Expert
Licensed User
Fare un tentativo:
B4X:
Dim MapS as Map
MapS.Initialize

MapS.Put("serviceId","4")
MapS.Put("serviceName","Service")
MapS.Put("serviceCode","J")
MapS.Put("serviceIsActive",True)
MapS.Put("lastNumber","8")
MapS.Put("nowServing","12")

Dim JSONGenerator As JSONGenerator
JSONGenerator.Initialize (MapS)
Ma se si apportano modifiche alla mappa, sarà necessario ricreare il JSON.
 
Top