Newtonsoft.JSON serializeobject返回空的JSON字符串

每个人都得到了很多这个问题,我几乎尝试了一切,但没有一个对我有用。

所以我正在开发Xamarin.Forms并且即将把我的数据发送到服务器。 我有这堂课:

public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string BirthDate { get; set; } public string Password { get; set; } public string EmailAddress { get; set; } public string ContactNumber { get; set; } } 

然后我使用了Newtonsoft的SerializeObject方法:

 Customer customer = new Customer { FirstName = FirstName.Text, LastName = LastName.Text, BirthDate = BirthDate.Date.ToString(), EmailAddress = Email.Text, Password = Password.Text, ContactNumber = Mobile.Text }; var item = JsonConvert.SerializeObject(customer); 

但是变量item产生一个包含空JSON对象的字符串{} 。 我的实施有问题吗?

编辑:此外,我注意到虽然我的客户类及其成员是公开的,但调试器仍将其视为“非公开”成员。 请参阅“调试器的屏幕截图”:

调试器的屏幕截图

您的问题有点误导,因为您将类属性显示为公共属性。

此外,我注意到虽然我的客户类是公开的,但其成员是非公开的:

说到这些是你的选择:

  1. 如果您的房产可以公开,请将其公开
  2. 如果属性需要保持私有,请将[JsonProperty]属性添加到它们

看来Xamarin Live Player在序列化程序方面存在一些问题。 我尝试通过USB插入我的手机,它的工作原理!