1

メンバー'properties'がパブリックでないため、データコントラクトタイプ'DTO.AccountData'を逆シリアル化できません。メンバーを公開すると、このエラーが修正されます。または、内部に設定し、アセンブリでInternalsVisibleToAttribute属性を使用して、内部メンバーのシリアル化を有効にすることもできます。詳細については、ドキュメントを参照してください。そうすることには、特定のセキュリティ上の影響があることに注意してください。

そして私のクラスでは、すべてのメンバー変数はパブリックです

public class AccountData
{

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

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

}

更新
[DataContract]および[DataMember]属性を試しましたが、機能しません。

4

1 に答える 1

1

残念ながらDataContractJsonSerializer、jsonデータは次のように期待されます

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

Json.NETを使用してjsonを解析するのは良い考えだと思います

詳細については、この質問を確認できますjsonwindowsphoneから辞書を解析します

于 2013-07-17T05:18:32.683 に答える