Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用json.net返回数组数组,而不是对象数组_C#_Arrays_Json_Json.net - Fatal编程技术网

C# 使用json.net返回数组数组,而不是对象数组

C# 使用json.net返回数组数组,而不是对象数组,c#,arrays,json,json.net,C#,Arrays,Json,Json.net,对于flot图表,我需要返回数组数组,而不是对象数组 我可以得到以下信息: data = [{"2012-10": 4140},{"2012-11": 10815},{"2012-12": 10444}]; 但需要(更新以下固定行): 下面是正在解析来自另一个源的入站json的c#: public async Task<ActionResult> Chart(string custid) { //Ge

对于flot图表,我需要返回数组数组,而不是对象数组

我可以得到以下信息:

data = [{"2012-10": 4140},{"2012-11": 10815},{"2012-12": 10444}];
但需要(更新以下固定行):

下面是正在解析来自另一个源的入站json的c#:

public async Task<ActionResult> Chart(string custid)
   {
        //Get the financial results from DRT
        var response = await DominoJSON.getJSON(custid, "drtHistory", "DRT");

        JArray UOVol = new JArray();

        var array = JArray.Parse(response);
        foreach (var token in array)
        {
            JObject o = JObject.Parse(token.ToString());
            
            int uovol = Convert.ToInt32(o["UOVol"]);
            string uodate = o.SelectToken("DATE").ToString();
            JObject UOItem = new JObject(new JProperty(uodate, uovol));
            UOVol.Add(UOItem);
              
        }

       string resultUO = UOVol.ToString();
       
       ViewBag.UOData = resultUO;

        return View();
    }
我不知道如何将作业对象转换为数组。我尝试过其他方法,包括使用字典和列表。任何帮助或替代解决方案都会有所帮助。使用VS2013、mvc 5和EF 6。

尝试以下方法:

class Program
{
    static void Main(string[] args)
    {
        string jsonIn = @"
        [
            {
                ""DATE"": ""2012-10"",
                ""UOVol"": 4140,
                ""FIRev"": 180,
                ""AFRev"": 692.75,
                ""ABRev"": 2900,
                ""OWRev"": 3791.25
            },
            {
                ""DATE"": ""2012-11"",
                ""UOVol"": 10815,
                ""FIRev"": 60,
                ""AFRev"": 170,
                ""ABRev"": 0,
                ""OWRev"": 3037.5
            },
            {
                ""DATE"": ""2012-12"",
                ""UOVol"": 10444,
                ""FIRev"": 40,
                ""AFRev"": 514.25,
                ""ABRev"": 1450,
                ""OWRev"": 7500
            }
        ]";

        JArray arrayIn = JArray.Parse(jsonIn);
        JArray arrayOut = new JArray();
        foreach (JObject jo in arrayIn.Children<JObject>())
        {
            JArray ja = new JArray();
            ja.Add(jo["DATE"]);
            ja.Add(jo["UOVol"]);
            arrayOut.Add(ja);
        }

        string jsonOut = arrayOut.ToString(Formatting.None);
        Console.WriteLine(jsonOut);
    }
}

[“2012-10”:4140]
不是有效的JSON。您说需要的JSON无效——数组中不能有冒号分隔值。您的意思是
[[“2012-10”,4140],“2012-11”,10815],“2012-12”,10444]
?是的,我的意思是您用逗号而不是冒号表示的。我只是抄错了,效果很好。非常感谢你!没问题;很乐意帮忙。
[
  {
      "DATE":"2012-10",
      "UOVol":4140,
      "FIRev":180,
      "AFRev":692.75,
      "ABRev":2900,
      "OWRev":3791.25,
  },
  {
     
      "DATE":"2012-11",
      "UOVol":10815,
      "FIRev":60,
      "AFRev":170,
      "ABRev":0,
      "OWRev":3037.5,
  },
  {
   
      "DATE":"2012-12",
      "UOVol":10444,
      "FIRev":40,
      "AFRev":514.25,
      "ABRev":1450,
      "OWRev":7500,
  }
]
class Program
{
    static void Main(string[] args)
    {
        string jsonIn = @"
        [
            {
                ""DATE"": ""2012-10"",
                ""UOVol"": 4140,
                ""FIRev"": 180,
                ""AFRev"": 692.75,
                ""ABRev"": 2900,
                ""OWRev"": 3791.25
            },
            {
                ""DATE"": ""2012-11"",
                ""UOVol"": 10815,
                ""FIRev"": 60,
                ""AFRev"": 170,
                ""ABRev"": 0,
                ""OWRev"": 3037.5
            },
            {
                ""DATE"": ""2012-12"",
                ""UOVol"": 10444,
                ""FIRev"": 40,
                ""AFRev"": 514.25,
                ""ABRev"": 1450,
                ""OWRev"": 7500
            }
        ]";

        JArray arrayIn = JArray.Parse(jsonIn);
        JArray arrayOut = new JArray();
        foreach (JObject jo in arrayIn.Children<JObject>())
        {
            JArray ja = new JArray();
            ja.Add(jo["DATE"]);
            ja.Add(jo["UOVol"]);
            arrayOut.Add(ja);
        }

        string jsonOut = arrayOut.ToString(Formatting.None);
        Console.WriteLine(jsonOut);
    }
}
[["2012-10",4140],["2012-11",10815],["2012-12",10444]]