Não é possível desserializar JSON contendo chaves $ ref
Eu tenho o seguinte código tentando desserializar uma seqüência de caracteres JSON e a biblioteca me dá esse erro:
Conteúdo adicional encontrado no objeto de referência JSON. Um objeto de referência JSON deve ter apenas uma propriedade $ ref. Caminho 'user.obj', linha 1, posição 34.
Alguma idéia do que está errado? (Entendo que está reclamando do segundo $ ref, mas não sei por que.) Qual é a solução alternativa?
void Main()
{
var s = "{\"user\": {\"$ref\": \"123456\", \"obj\": {\"$ref\": \"123456\"}}}";
JsonConvert.DeserializeObject<Root>(s).Dump();
}
// Define other methods and classes here
public class Root
{
[JsonProperty("user")]
public User User { get; set; }
}
public class User
{
[JsonPropertyAttribute("$ref")]
public string Ref { get; set; }
[JsonPropertyAttribute("obj")]
public Obj Obj { get; set; }
}
public class Obj
{
[JsonPropertyAttribute("$ref")]
public string Ref { get; set; }
}