20

次のJSON文字列を使用しています

{
"transactions": 
[
   {
    "paymentcharge":"0.0",
    "amount":352,
    "id":13418,
    "shippingcharge":35,
    "shippingtype":2,
    "status":2,
    "paymenttype":1,
    "date":"2012-10-06 16:15:28.0"
   },   
   {
    "paymentcharge":"0.0",
    "amount":42455,
    "id":16305,
    "shippingcharge":0,
    "shippingtype":2,
    "status":2,
    "paymenttype":2,
    "date":"2012-11-30 09:29:29.0"
   },   
   {
    "paymentcharge":"1.0",
    "amount":42456,
    "id":16305,
    "shippingcharge":0,
    "shippingtype":2,
    "status":2,
    "paymenttype":2,
    "date":"2012-11-30 09:29:29.0"
   }
],
"count":3
}

jsonデータを解析して感じるために、次のようなクラス構造を持っています

class clsSalesTran
{
    public double paymentcharge { get; set; }
    public double amount { get; set; }
    public long id { get; set; }
    public int shippingcharge { get; set; }
    public int shippingtype { get; set; }
    public int status { get; set; }
    public int paymenttype { get; set; }
    public DateTime date { get; set; }
}

上記の JSON 文字列を List に逆シリアル化するにはどうすればよいですか?

逆シリアル化にNewtonsoft.Jsonを使用しています。

4

4 に答える 4

28

最初に別のクラスを作成します。

public class SalesTransactions
{
     public List<clsSalesTran> transactions {get;set;}
     public int count{get;set;}
}

次に、

JsonConvert.DeserializeObject<SalesTransactions>(inputString)
于 2013-02-18T10:46:28.220 に答える
11


クラス 'clsSalesTran' のリストと 'Count' の変数を作成して、以下のようにクラスを作成します。

注: JsonProperty は Json 文字列から必須です

public class SalesTransactions
{
     [JsonProperty("transactions")]
     public List<clsSalesTran> transactions {get;set;}
     public int count{get;set;}
}

次に、このクラスを以下のように使用して逆シリアル化できます

SalesTransactions st = JsonConvert.DeserializeObject<SalesTransactions>(inputString)

以下のように Deserialized オブジェクトを使用します

double paymentcharge = st.transactions[0].paymentcharge;
于 2015-12-22T10:32:58.127 に答える