Sample code for 30+ languages & platforms
B4X

Find and Delete Object from JSON Array

See more JSON Examples

Demonstrates how to find an delete an object from a JSON array of objects.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example will delete the "Pasta" category object from Menu B.

'  {
'    "menus": [
'      {
'        "name": "Menu A",
'        "categories": [
'  			{
'  			"name": "Kebabs",
'  			"description": "blah blah blah"
'  			},
'  			{
'  			"name": "Burgers",
'  			"description": "blah blah blah"
'  			},
'  			{
'  			"name": "Pasta",
'  			"description": "blah blah blah"
'  			},
'  			{
'  			"name": "Appetizers",
'  			"description": "blah blah blah"
'  			}
'  		]
'  	},
'      {
'        "name": "Menu B",
'        "categories": [
'  			{
'  			"name": "Kebabs",
'  			"description": "blah blah blah"
'  			},
'  			{
'  			"name": "Burgers",
'  			"description": "blah blah blah"
'  			},
'  			{
'  			"name": "Pasta",
'  			"description": "blah blah blah"
'  			},
'  			{
'  			"name": "Appetizers",
'  			"description": "blah blah blah"
'  			}
'  		]
'  	  }
'  	]
'  }

Dim json As ChilkatJsonObject
json.Initialize
success = json.LoadFile("qa_data/json/menus.json")
If success = False Then
    Log(json.LastErrorText)
    Return
End If


'  Find Menu B.
Dim menu As ChilkatJsonObject = json.FindRecord("menus", "name", "Menu B", True)
'  assume menu is found..

'  Get the categories array, and then find the index of the "Pasta" menu category.
Dim catArr As ChilkatJsonArray = menu.ArrayOf("categories")
'  Assume it is found..

'  Find the object where the name of the JSON member is "name", and the value is "Pasta"
Dim index As Int = catArr.FindObject("name", "Pasta", True)
If index < 0 Then
    Log("Pasta not found.")
Else

    '  Delete the "Pasta" category record from Menu B
    success = catArr.DeleteAt(index)
    '  Assume OK..
End If


'  Examine the JSON to see if it worked as expected..
json.EmitCompact = False
Log(json.Emit)