这个问题已经有了答案:
JsonConvert.SerializeObject always return {} in XamarinForms
2个答案
每个人都有这个问题,我几乎试了所有的方法,但没有一个对我有效。
所以我正在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对象的字符串{}
。我的执行有问题吗?编辑:另外,我注意到尽管我的客户类及其成员是公共的,但调试器仍然将它们计为“非公共”成员。请参见“调试器截图”:
最佳答案
您的问题有点误导,因为您将类属性显示为公共属性。
另外,我注意到虽然我的客户类是公共的,但它的成员是非公共的:
尽管如此,以下是您的选择:
如果你的财产可以公开,就公开
如果属性需要保持私有,则向它们添加[JsonProperty]
属性