2017-08-24 6 views
-2

私はこのようなJSONを作成しています、別のJSON内のJSONを作成する必要があります。別のjson内でjsonを作成するにはどうすればよいですか?

Turnover turnover = new Turnover(); 
        turnover.DealerUserName = username; 
        turnover.CardNumber = cardnumber; 
        turnover.InvoiceNumber = invoicenumber; 
        turnover.Amount = total; 
        turnover.Currency = currency; 
        turnover.InvoiceDate = tempo; 
        turnover.SegmentNumber = segment; 
        string json = JsonConvert.SerializeObject(turnover); 

これは私がTurnoverクラスを作成する方法です:

public class Turnover 
    { 
     public string DealerUserName { get; set; } 
     public long CardNumber { get; set; } 
     public string InvoiceNumber { get; set; } 
     public decimal Amount { get; set; } 
     public string Currency { get; set; } 
     public string InvoiceDate { get; set; } 
     public short SegmentNumber { get; set; } 
    } 

をしかし、私は作成する必要があります次のクラスに含まれる機能を持つ

public class product 
    { 
     public string ProductName { get; set; } 
     public string ProductGroup { get; set; } 
     public long Code { get; set; } 
     public decimal Amout { get; set; } 
     public int Quantity { get; set; } 
     public string Referece { get; set; } 
    } 

どのようにすればいいですか?私はこのようなlistでそれをやろうとしました:

public class Turnover 
    { 
public List<product> TurnoverDetails { get; set; } 
    } 
Turnover turnover = new Turnover(); 
turnover.TurnoverDetails.Add(new product() { ProductName = "", ProductGroup = "", Amout = 0, Code = 0, Quantity = 0, Referece = "", }); 
string json = JsonConvert.SerializeObject(turnover); 

私はこのようになりJSONを気に入っ:その後、

enter image description here

+0

予想されるJSONはどのように見えるのですか? –

+1

@Vanna私はちょうど彼が彼のコードでNullReferenceExceptionを取得していると思います; o) –

+0

@SirRufo私はそのことでご質問を編集します残念です – Jose

答えて

2

TurnoverDetailsリストに追加する前に、オブジェクトを作成する必要があります。下記のサンプルコードをご覧ください。

public class Turnover 
{ 
    public Turnover() 
    { 
     TurnoverDetails = new List<product>(); 
    } 
    public List<product> TurnoverDetails { get; set; } 
} 
Turnover turnover = new Turnover(); 
turnover.TurnoverDetails.Add(new product() { ProductName = "", ProductGroup 
= "", Amout = 0, Code = 0, Quantity = 0, Referece = "", }); 
string json = JsonConvert.SerializeObject(turnover); 
+0

または 'publicリスト TurnoverDetails {get;セット; } = new List (); 'コンストラクタは必要ありません – Franck

0

public class Turnover 
     { 
      public string DealerUserName { get; set; } 
      public long CardNumber { get; set; } 
      public string InvoiceNumber { get; set; } 
      public decimal Amount { get; set; } 
      public string Currency { get; set; } 
      public string InvoiceDate { get; set; } 
      public short SegmentNumber { get; set; } 
      public List<product> Products = new List<product>(); 
     } 

タイプリストのプロパティを追加し、売上高オブジェクトに商品を追加する

Turnover turnover = new Turnover(); 
    turnover.Products.Add(new product() { ProductName = "", ProductGroup = "", Amout = 0, Code = 0, Quantity = 0, Referece = "", }); 
turnover.Products.Add(new product() { ProductName = "", ProductGroup = "", Amout = 0, Code = 0, Quantity = 0, Referece = "", }); 
turnover.Products.Add(new product() { ProductName = "", ProductGroup = "", Amout = 0, Code = 0, Quantity = 0, Referece = "", }); 


string json = JsonConvert.SerializeObject(turnover); 
+0

このコードはNullReferenceExceptionをスローします –

関連する問題