title: DeserializeObject<T>(string s) in generic method in C# using Newtonsoft.JSON is not working
body: <blockquote>
    <p>Currently I am just returning the json string to corresponding file from where Test1() is called and Deserializing there as ResponseClass r = JsonConvert.DeserializeObject(response_json)
    Send part I forget to make a class [Serializable].Its working fine now.</p>
  </blockquote>
  
  <p>Part1:</p>
  
  <pre><code>public class Movie
  {
      public string Name { get; set; }
      public string Description { get; set; }
      public string Classification { get; set; }
      public string Studio { get; set; }
      public DateTime? ReleaseDate { get; set; }
      public List&lt;string&gt; Genres{ get; set; }
  }
  
  
  public class ResponseClass
  {
      public string SuccessStatus{ get; set; }
      public string next_link { get; set; }
  }
  
  
  private void Test1&lt;T,Q&gt;()
  {
      string json = @"{
        'Name': 'Bad Boys',
        'ReleaseDate': '1995-4-7T00:00:00',
        'Genres': [
          'Action',
          'Comedy'
        ]
      }";
  
  
     //Here making network call with above json and getting correct response_josn
      Q response_obj = JsonConvert.DeserializeObject&lt;Q&gt;(reponse_json);
      print(response_obj);
  }
  </code></pre>
  
  <p>I am calling Test1() as follows on button click:</p>
  
  <pre><code>Test1&lt;Movie, ResponseClass&gt;();
  </code></pre>
  
  <p>For the above example I am getting print log as ClassName+Movie (T FullName).
  I want to deserialize the string into that class. How to achieve that?</p>
  
  <p><a href="https://i.stack.imgur.com/jkTZ3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jkTZ3.png" alt="enter image description here"></a></p>
  
  <p>Part2 : If I have class as:</p>
  
  <pre><code>[Serializable]
  public class Movie
  {
      public string Name;
      public string Description;
      public string Classification;
      public string Studio;
      public DateTime ReleaseDate;
      public SubClass subClass;
      public List&lt;SubClass&gt; lsubclass;
  }
  [Serializable] //This was the mistake. 
  public class SubClass
  {
      public string a;
      public string b;
      public List&lt;string&gt; ReleaseCountries;
  }
  
  private Movie createValidMovieJson()
  {
      Movie m = new Movie();
  
      SubClass sc = new SubClass();
      sc.a = "aaa";
      sc.b = "bbb";
      sc.ReleaseCountries = new List&lt;string&gt;();
      sc.ReleaseCountries.Add("Japan");
      sc.ReleaseCountries.Add("India");
      List&lt;SubClass&gt; lsC = new List&lt;SubClass&gt;();
      lsC.Add(sc);
      lsC.Add(sc);
  
      m.Name = "Bad Boys";
      m.Studio = "Pixa";
      m.subClass = sc;
      m.lsubclass = lsC;
      Debug.Log(JsonUtility.ToJson(m));  // value n log = {"Name":"Bad Boys","Description":"","Classification":"","Studio":"Pixa"}
      return m;
  }
  </code></pre>
  
  <p><a href="https://stackoverflow.com/questions/36239705/deserialization-of-json-using-minijson-in-unity-c-sharp/36244111#36244111">JsonUtility</a> is returning empty value in place of subclass after using <code>ToJson()</code> as shown in above function.</p>