这个问题已经有了答案:
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对象的字符串{}。我的执行有问题吗?
编辑:另外,我注意到尽管我的客户类及其成员是公共的,但调试器仍然将它们计为“非公共”成员。请参见“调试器截图”:
c# - Newtonsoft.JSON serializeobject返回空的JSON字符串-LMLPHP

最佳答案

您的问题有点误导,因为您将类属性显示为公共属性。
另外,我注意到虽然我的客户类是公共的,但它的成员是非公共的:
尽管如此,以下是您的选择:
如果你的财产可以公开,就公开
如果属性需要保持私有,则向它们添加[JsonProperty]属性

09-07 01:17