无法使用NewtonSoft反序列化json字符串

时间:2019-06-18 03:48:40

标签: c# asp.net-core

我正在尝试对以下Json字符串进行反序列化。

"{\"CPFs\":[{\"Numero\":\"13383857719\"},{\"Numero\":\"13383857720\"}]}"

我尝试了所有操作,但总是收到此错误消息:

  

转换值时出错   “ {” CPFs“:[{” Numero“:” 13383857719“},{” Numero“:” 13383857720“}]}”“进行键入   'WebFFService.ListaCpf'。路径”,第1行,位置72。

我试图使用简单对象作为List甚至仅使用CPF。但是我总是得到相同的输出。我尝试使用JavaScripSerializer都没有成功。

// I've serialized a JSON as following:

var aux = new List<CPF>();

var cpf = new CPF {
  Numero = "13385860019"
};

var cpf2 = new CPF {
  Numero = "12283757720"
};

aux.Add(cpf);
aux.Add(cpf2);

var listaCpfs = new ListaCpf {
  CPFs = aux
};     

var jsonCpf = JsonConvert.SerializeObject(listaCpfs);

// Where my classes are:    
public class ListaCpf
{
  public List<CPF> CPFs { get; set; }
}

public class CPF
{
  public string Numero { get; set; }
}

// And I'm trying to desirialize this way:        
var listaCpf = JsonConvert.DeserializeObject<ListaCpf>(jsonCpf);

我只想将数字“ Numeros”放在列表或数组上。 有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

 public class ListaCpf
   {
       public CPF[] CPFs { get; set; }
   }

 public class CPF
  {
      public string Numero { get; set; }
  }


  { 
        var aux = new List<CPF>();

        var cpf = new CPF
        {
            Numero = "13385860019"
        };

        var cpf2 = new CPF
        {
            Numero = "12283757720"
        };

        aux.Add(cpf);
        aux.Add(cpf2);

        var listaCpfs = new ListaCpf
        {
            CPFs = aux.ToArray()
          };

           var jsonCpf = JsonConvert.SerializeObject(listaCpfs);

//我的课程在哪里:

    // And I'm trying to desirialize this way:        
          var listaCpf = JsonConvert.DeserializeObject<ListaCpf>(jsonCpf);
          }