2017-02-21 48 views
1

我想有JSON對象是這樣的:C#使慾望JSON格式

在有這樣的代碼在C#:

var list = new ArrayList(); 
foreach (var item in stats) 
{ 
    list.Add(new { item.date.Date, item.conversions }); 
} 

return JsonConvert.SerializeObject(new { list }); 

現在我的JSON是這樣的:

enter image description here

我想擁有這種格式的Json:

//{01/21/2017,14} 
//{01/22/2017,17} 
//{01/23/2017,50} 
//{01/24/2017,0} 
//{01/25/2017,2} 
//{01/26/2017,0} 
+2

'{something,something}'不是有效的JSON格式。 JSON是一個'{key:value}'對。嘗試用數組代替:'[「01/21/2017」,「14」]' – Rajesh

+0

什麼意思是每個日期後的「14,17,50,0,2,0」值? –

+0

@ThiagoCustodio這是每天的東西數量 – mohammad

回答

-1
using Newtonsoft.Json; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace TestsJson 
{ 
    class Model 
    { 
     public DateTime Date { get; set; } 

     public int Clicks { get; set; } 

     public Model(DateTime date, int clicks) 
     { 
      Date = date; 
      Clicks = clicks; 
     } 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      var data = new List<Model>() 
      { 
       new Model(new DateTime(2017, 01, 21), 14), 
       new Model(new DateTime(2017, 01, 22), 17), 
       new Model(new DateTime(2017, 01, 23), 50), 
       new Model(new DateTime(2017, 01, 24), 0), 
       new Model(new DateTime(2017, 01, 25), 2), 
       new Model(new DateTime(2017, 01, 26), 0) 
      }; 

      foreach (var model in data) 
      { 
       var json = "{" + JsonConvert.SerializeObject(model.Date.ToShortDateString()) + ":" + model.Clicks + "}"; 
       Console.WriteLine(json); 
      } 

      Console.Read(); 
     } 
    } 
} 
+0

如何解釋你的代碼? –

+0

這是相當自我解釋。 – Viezevingertjes

1

您可以嘗試創建字符串作爲您的JSON對象。例如:

var list = new List<string>(); 
foreach (var item in stats) 
    { 
     list.Add(String.Format("{0},{1}",item.date.Date, item.conversions)); 
    } 

return JsonConvert.SerializeObject(new { list }); 

//I haven't tested the code.