Create a class and give it any name
class MyObject
{
   private int id;
   public MyObject(int id)
   {
     this.id = id;
   }
}
Define your class as an object
MyObject obj = new MyObject(9);
Now using Newtonsoft.Json serialize your object
string result = JsonConvert.SerializeObject(obj);
Now add it to an array
var resArray = new object[] { result };
Find the Complete code below
    class MyObject
    {
       private int id;
       public MyObject(int id)
       {
         this.id = id;
       }
    }
using Newtonsoft.Json;
using RestSharp;
class Main
{
    MyObject obj = new MyObject(9);
    MyObject obj1 = new MyObject(14);
    string result = JsonConvert.SerializeObject(obj);
    string result1 = JsonConvert.SerializeObject(obj1);
    var resArray = new object[] { result ,result1};
    ServicePointManager.SecurityProtocol |= SecurityProtocolType.Ssl3 | 
    SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | 
    SecurityProtocolType.Tls;
    var client = new RestClient("http://127.0.0.1:8080");
    var request = new RestRequest("category", Method.POST);
    request.AddHeader("Content-Type", "application/json");
          
    request.AddJsonBody(new
    {
         categories = resArray,      
     }) ;
    var response = client.Execute(request);
    MessageBox.Show(response.IsSuccessful.ToString());
         
    MessageBox.Show(response.Content);
}