How to send json arrays and objects using arduino and sim900

Hello everyone, i am using Arduino and sim900, i can send normal json data to given API but i dont know how to send json array and objects, can anybody help me?
I have show below what i mean by json array and object:
somewhere i read that [] means object and {} means array

  "GeneralData": [
    {
      "GeneralAir": {
        "GenAirTemp": 10,
        "GenAirWet": 10
      },
      "GeneralSoil": {
        "GenSoilTemp": 10,
        "GenSoilWet": 10
      },
      "GeneralWater": {
        "GenWaterLevel": 10,
        "GenWaterTemp": 10,
        "GenWaterFlowrate": 10
      },
      "_id": "62f7af892749082de40d7f51",
      "__v": 0
    }
  ],

Other way around.

{
  "GeneralData":
    {
      "GeneralAir": {
        "GenAirTemp": 10,
        "GenAirWet": 10
      },
      "GeneralSoil": {
        "GenSoilTemp": 10,
        "GenSoilWet": 10
      },
      "GeneralWater": {
        "GenWaterLevel": 10,
        "GenWaterTemp": 10,
        "GenWaterFlowrate": 10
      },
      "_id": "62f7af892749082de40d7f51",
      "__v": 0
    }
}

What part did you want to be an array?

these are the keys, so i want to send values to these keys. But i dont know which functions should i use. the full keys are like these:

{
  "GeneralData": [
    {
      "GeneralAir": {
        "GenAirTemp": 10,
        "GenAirWet": 10
      },
      "GeneralSoil": {
        "GenSoilTemp": 10,
        "GenSoilWet": 10
      },
      "GeneralWater": {
        "GenWaterLevel": 10,
        "GenWaterTemp": 10,
        "GenWaterFlowrate": 10
      },
      "_id": "62f7af892749082de40d7f51",
      "__v": 0
    }
  ],
  "SensorTwo": [
    {
      "SensorTwoAir": {
        "SensTwoAirTemp": 10,
        "SensTwonAirWet": 14
      },
      "SensorTwoSoil": {
        "SensTwoSoilTemp": 10,
        "SensTwonSoilWet": 5
      },
      "SensorTwonWater": {
        "SensTwonWaterLevel": 10,
        "SensTwonWaterTemp": 4,
        "SensTwonWaterFlowrate": 10
      },
      "_id": "62f7af892749082de40d7f4f",
      "OxygenMoto": 10,
      "__v": 0
    }
  ],
  "SensorThree": [
    {
      "SensorThreeAir": {
        "SensThreeAirTemp": 10,
        "SensThreenAirWet": 10
      },
      "SensorThreeSoil": {
        "SensThreeSoilTemp": 10,
        "SensThreenSoilWet": 10
      },
      "SensorThreeWater": {
        "SensThreenWaterLevel": 10,
        "SensThreenWaterTemp": 10,
        "SensThreenWaterFlowrate": 10
      },
      "OxygenMoto": {
        "OxygenMoto": 10
      },
      "_id": "62f7af892749082de40d7f50",
      "__v": 0
    }
  ],
  "DetailS": [
    {
      "_id": "62f7af892749082de40d7f52",
      "lightState": true,
      "ventilatorState": false,
      "heaterState": true,
      "pumpState": false,
      "__v": 0
    }
  ]
}

Your arrays only contain one object each. You should use arrays only if you have a bunch of objects with the same name.

thanx for your reply sir, is there any tutorial about how can i do it?

I let the ArduinoJson.org assistant do the hard work: