簡體   English   中英

無法反序列化屬性,因為成員“屬性”不是公共的

[英]Property cannot be deserialized because the member 'properties' is not public

數據合同類型'DTO.AccountData'無法反序列化,因為成員'properties'不是公共的。 公開該成員將解決此錯誤。 或者,可以將其設置為內部,並在程序集中使用InternalsVisibleToAttribute屬性以啟用內部成員的序列化-有關更多詳細信息,請參見文檔。 請注意,這樣做有一定的安全隱患。

在我班上,所有成員變量都是公共的

public class AccountData
{

    public string mdn
    {
        get;
        set;
    }
    .....
    //other public varibales
    .....       

    public Dictionary<string, string> properties
    {
        get;
        set;
    }

}

更新
我嘗試了[DataContract]和[DataMember]屬性,但是不起作用。

不幸的是DataContractJsonSerializer希望您的json數據為

  {"properties":[{"Key":"Name","Value":"Valorie"},{"Key":"Month","Value":"May"},{"Key":"Year","Value":"2013"}]}

我認為使用Json.NET是解析json的一個好主意

有關更多信息,您可以從json Windows phone中檢查此問題解析字典

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM