Parsing a JSON string is demonstrated very well in Erel's Tutorial.
I would like to create JSON strings from my data.
Here is an example that I cannot get to work, obviously there are some errors, but I don't see them...
The above code generates the following error:
I would like to create JSON strings from my data.
Here is an example that I cannot get to work, obviously there are some errors, but I don't see them...
B4X:
'generate JSON
Dim Map1 As Map
Map1.Initialize
Dim JSONGenerator As JSONGenerator
Dim Data As List
Data.Initialize
Data.Add("Version: 1.1")
For i = 0 To 30
Map1.Put(i, "value " & i)
Next
Data.Add(Map1)
JSONGenerator.Initialize(Data)
The above code generates the following error:
** Activity (main) Create, isFirst = true **
Error occurred on line: 74 (Main)
java.lang.ClassCastException: java.util.ArrayList cannot be cast to anywheresoftware.b4a.objects.collections.Map$MyMap
at anywheresoftware.b4a.objects.collections.JSONParser$JSONGenerator.Initialize(JSONParser.java:132)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:780)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:363)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:260)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
at anywheresoftware.b4a.samples.json.main.afterFirstLayout(main.java:104)
at anywheresoftware.b4a.samples.json.main.access$000(main.java:17)
at anywheresoftware.b4a.samples.json.main$WaitForLayout.run(main.java:82)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5021)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
at dalvik.system.NativeStart.main(Native Method)
** Activity (main) Resume **
Advice is always appreciated
Rusty
Rusty