0

これは、逆シリアル化する必要がある json 文字列です。

[{"id":5236083584722820,"name":"IT_Projects","accessLevel":"EDITOR"},
{"id":2034305724639108,"name":"IT_Task","accessLevel":"EDITOR"},
{"id":2249810003683204,"name":"On-Hold","accessLevel":"EDITOR"}]

コードは次のとおりです。

[DataContract]
public class SSCollection
{    
    [DataMember]
    public List<SSheets> sheetObjects { get; set; }
} 
[DataContract]
public class SSheets 
{
    [DataMember]
    public Int64 id { get; set; }
    [DataMember]
    public string name { get; set; }
    [DataMember]
    public string accessLevel { get; set;}
}

using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(json)))
        {
            memoryStream.Position = 0;
            var serializer = new DataContractJsonSerializer(typeof(SSCollection));
            SSCollection ss = (SSCollection)serializer.ReadObject(memoryStream);                 
            return ss;
        }

json 文字列の処理方法がわかりません。配列のように見えますが、名前が付けられていません。SSheets DataContract と SSCollection を使用して試してみましたが、SSheets を使用する場合を除き、両方とも null を返します。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

このテーマに関する他の多くの質問を読み、Json.Net を使用するための提案を読んだ後、Newtonsoft.Json を使用することにしました。最初の試行で機能しました。.Net DataContract は面倒なだけの価値はありません。ご協力いただきありがとうございます。

于 2013-08-23T15:57:30.180 に答える