I have done this.
JObject jsonGet = new JObject();
jsonGet.Add("VariableName1", "temp1" );
jsonGet.Add("VariableName2", "temp2" );
jsonGet.Add("VariableName3", temp3" );
restRequest.AddParameter("application/json", jsonGet, ParameterType.RequestBody);
And I have something like this.
{
  "VariableName1": "temp1",
  "VariableName2": "temp2",
  "VariableName3": "temp3",
}
And I would like to do this.
{
  "VariableList1": 
  [
    {
      "VariableName1": temp1,
      "VariableName2": "temp2",
      "VariableName3": "temp3"
    },
    {
      "VariableName1": temp1,
      "VariableName2": "temp2",
      "VariableName3": "temp3"
    },
    {
      "VariableName1": temp1,
      "VariableName2": "temp2",
      "VariableName3": "temp3"
    },
    "VariableList2": [
    {
      "VariableName1": temp1,
      "VariableName2": "temp2",
      "VariableName3": "temp3"
    },
    {
      "VariableName1": temp1,
      "VariableName2": "temp2",
      "VariableName3": "temp3"
    },
    {
      "VariableName1": temp1,
      "VariableName2": "temp2",
      "VariableName3": "temp3"
    }
  ]
}
And I want to do this like above with the JsonObject.
I want a json which will contains a header "Variablelist1" and a header "VariableList2" and the items in each will have the same names
which is the code in c# for this?

Variable1Listarray, but I haven't changed it. Please edit it to be valid JSON. But basically, you'll want to useJArrayto create arrays. See newtonsoft.com/json/help/html/… for some examples.