The idea to make a converter to convert JSON to that type is really bad.
You would better use a JSON deserializer such as Newtonsoft.JSON or System.Text.Json which was significantly improved recently. I prefer using Newtonsoft.JSON, as it is less sensitive to input data, so, to convert a string to a type you need, you need simply to write something like tihs:
//Let's assume your type is Foo, and a string to deserialize is named json
Foo foo = JsonConvert.DeserializeObject<Foo>(json);
That's all! Now, your foo variable contains all the Foo class data, which was stored in json.
Using a deserializer is the best option, unless you need a really fast custom converter, if only you are sure that it will really faster.
P.S. If you are using ASP.NET as a server application, you don't even need to do something like this. Just put [FromBody] in your controller function, to convert a data stored in a request body, for example:
[HttpGet]
public void IActionResult GetFoo([FromBody] Foo foo)
{
//your code here
}
Hope that helped! ;)