我使用restsharp(Web API,.NET Web应用程序项目)与控制器将此称为https://jsonplaceholder.typicode.com/albums。 这是我的课程,我使用Datacontracts和DataMemebers。
let A = {
datetime: '2019-02-01 15:30:43'
}
使用邮递员,结果是:
[DataContract]
public class Album
{
[DataMember(Name = "userId")]
public int UserId { get; set; }
[DataMember(Name = "id")]
public int Id { get; set; }
[DataMember(Name = "title")]
public string Title { get; set; }
}
我设置了正确的参考,效果很好。
但是当我用其他名称更改字段名称
{
"userId": 1,
"id": 1,
"title": "quidem molestiae enim"
}
使用邮递员,结果是
[DataContract]
public class Album
{
[DataMember(Name = "userId")]
public int myproject { get; set; }
[DataMember(Name = "id")]
public int code { get; set; }
[DataMember(Name = "title")]
public string name { get; set; }
}
为什么会这样?该属性必须识别出所有字段名称
答案 0 :(得分:0)
这是因为你改变了属性名称。数据memeber名称仍保持不变。 试试这个:
[DataContract]
Public class Album
{
[DataMember(Name = "myproject")]
Public int myproject{ get; set;}
DataMember(Name = "id")]
Public int id{ get; set;}
DataMember(Name = "name")]
Public string name{ get; set;}
}
答案 1 :(得分:0)
你有没有试着用JsonProperty属性的工作?这就是我使用JSON.NET库(Newtonsoft)序列化/反序列化JSON的方式
[JsonProperty("SomeJsonPropertyName")]
public string YourNewPropertyName{ get; set; }