2017-02-21 31 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.