I'm using the method below to Deserialize a json object .

```
public static T DeserializeJson<T>(string Json)
{
    if (CanDesirialize(Json))
    {
          return JsonConvert.DeserializeObject<T>(Json);
    }

    return (T)new object();
}

```

and a service method which calls the Deserialize method : 

```
public T ExecuteService<T>() 
{
    // call service
    return DeserializeJson<T>(rslt);
}

```

this works fine when i directly pass a type example `People[]` to the desirialize method. but when i called within the service method :

```
var rslt = ExecuteService<People[]>();

```

It does not work: 

> 
> Exception "Require an array object"
> 
> 
> 

I tried to catch the T type within the Deserialize Method and checked the IsArray property and it returned false. 

For some reason I still didn't find anything wrong in my code.