Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

Required plugins for this example: MBS Util Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Util/JSON/JSON
This example is the version from Sat, 2nd Aug 2013.
Project "JSON.rbp"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control EditField1 Inherits TextArea
ControlInstance EditField1 Inherits TextArea
End Control
Control PushButton1 Inherits PushButton
ControlInstance PushButton1 Inherits PushButton
EventHandler Sub Action() dim j as new JSONMBS(EditField1.text) Add j EditField2.text = (j.toString) End EventHandler
End Control
Control EditField2 Inherits TextArea
ControlInstance EditField2 Inherits TextArea
End Control
Control list Inherits Listbox
ControlInstance list Inherits Listbox
EventHandler Sub ExpandRow(row As Integer) dim j as JSONMBS = List.CellTag(row,0) dim c as JSONMBS = j.ChildNode while c<>Nil add c c=c.NextNode wend End EventHandler
End Control
Control PushButton2 Inherits PushButton
ControlInstance PushButton2 Inherits PushButton
EventHandler Sub Action() dim j as JSONMBS = BuildTest Add j EditField2.text = (j.toString) End EventHandler
End Control
Private Sub Add(j as JSONMBS) dim t as string Select case j.Type case j.kTypeArray t="Array: " case j.kTypeNumber t="Number: " case j.kTypeObject t="Object: " case j.kTypeString t="String: " case j.kTypeTrue t="True" case j.kTypeFalse t="False" case j.kTypeNull t="Null" end Select if j.ChildNode<>nil then List.AddFolder t+j.ValueString else List.AddRow t+j.ValueString end if List.CellTag(List.LastIndex,0)=j End Sub
Private Function BuildTest() As JSONMBS dim j as JSONMBS = JSONMBS.NewObjectNode j.AddItemToObject "String Node", JSONMBS.NewStringNode("Hello World") j.AddItemToObject "False Node", JSONMBS.NewFalseNode j.AddItemToObject "True Node", JSONMBS.NewTrueNode j.AddItemToObject "Null Node", JSONMBS.NewNullNode dim o as JSONMBS = JSONMBS.NewObjectNode o.AddItemToObject "x", JSONMBS.NewStringNode("a") o.AddItemToObject "y", JSONMBS.NewStringNode("b") o.AddItemToObject "z", JSONMBS.NewStringNode("c") j.AddItemToObject "Object Node", o j.AddItemToObject "Number Node", JSONMBS.NewNumberNode(8) dim a as JSONMBS = JSONMBS.NewArrayNode for i as integer = 1 to 10 a.AddItemToArray JSONMBS.NewNumberNode((i)) next j.AddItemToObject "Array Node",a Return j End Function
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

See also:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS Util Plugin.

MBS Xojo Chart Plugins