Очевидно, что json2csharp преобразует каждый объект json в класс и буквально преобразует имена ключей в имена переменных.Поэтому, когда бы он ни находил имя ключа, начинающееся с $, он не может создать переменную ac # с этим символом, и ему предшествует имя переменной с _invalid_name_.Здесь нет ничего плохого.
Вы должны сказать, почему вы хотите удалить эту фразу invalid_name из имени переменной?Вы хотите сериализовать и десериализовать этот класс?Если это так, вы можете использовать библиотеку NewtonSoft Json и определить эти поля со знаком $ следующим образом:
[JsonProperty(PropertyName = "$t")]
public string t { get; set; }
это позволит вам сериализовать / десериализовать json doc
то же самое для имени gsx $:
[JsonProperty(PropertyName = "gsx$name")]
public string gsxname { get; set; }