Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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# 从Web服务获取所需格式的JSON_C#_Javascript_Json_Highcharts - Fatal编程技术网

C# 从Web服务获取所需格式的JSON

C# 从Web服务获取所需格式的JSON,c#,javascript,json,highcharts,C#,Javascript,Json,Highcharts,下面是我得到的JSON数据 [{-------------- This should be common opening braces "legend":[{"layout":"vertical", "floating":"true", "bgColour":"#FFFFFF", "align":"right", "vertical_Align":"top", "y":"60", "x":"-60"} ] }-------------- Eliminate this brac

下面是我得到的JSON数据

 [{-------------- This should be common opening braces
 "legend":[{"layout":"vertical",
 "floating":"true",
 "bgColour":"#FFFFFF",
 "align":"right",
 "vertical_Align":"top",
 "y":"60",
 "x":"-60"}
 ]
 }-------------- Eliminate this brace
 ,
 {-------------- Eliminate this brace
 "Series":[{"Data":[14,
 14,
 14,
 14,
 18,
 18,
 18,
 18,
 17,
 15,
 13,
 12]
 }
 ]

 }-------------- Eliminate this brace
 ,
 {-------------- Eliminate this brace
 "xAxis":[{"Categories":["Q1 / 2013",
 "Q2 / 2013",
 "Q3 / 2013",
 "Q4 / 2013",
 "Q1 / 2013",
 "Q2 / 2013",
 "Q3 / 2013",
 "Q4 / 2013",
 "Q1 / 2013",
 "Q2 / 2013",
 "Q3 / 2013",
 "Q4 / 2013"
 ]}
 ]}--------------- This should be common closing brace
 ]
下面是我想要的JSON格式

   { 
  "legend" : [ { "layout" : "vertical" },
    { "floating" : true },
    { "backgroundColor" : "#FFFFFF" },
    { "align" : "right" },
    { "verticalAlign" : "top" },
    { "y" : 60 },
    { "x" : -60 }
    ],
    "series" : [ { "data" : [ 14,
          14,
          14,
          14,
          18,
          18,
          18,
          18,
          17,
          15,
          13,
          12
          ] } ],
     "xAxis" : { "categories" : [ "Q1 / 2013",
           "Q2 / 2013",
           "Q3 / 2013",
           "Q4 / 2013",
           "Q1 / 2013",
           "Q2 / 2013",
           "Q3 / 2013",
           "Q4 / 2013",
           "Q1 / 2013",
           "Q2 / 2013",
           "Q3 / 2013",
           "Q4 / 2013"
            ] }
            }
两者都是有效的JSON,但我想用第二种格式在highcharts中绘制图形

下面是我获取文件中第一个JSON数据的代码,如下所示

List<object> modified_listofstrings = new List<object>();
System.Web.Script.Serialization.JavaScriptSerializer jSearializer = new System.Web.Script.Serialization.JavaScriptSerializer();

var obj1=new{
                Data=p_Value
            };
            var obj2 = new { Series = new[] { obj1 } };

             var obj3 = new
             {
                 layout,
                 floating,
                 bgColour,
                 align,
                 vertical_Align,
                 y,
                 x,
             };

             var obj4 = new { legend = new[] { obj3 } };

             var obj5 = new
             {
                 Categories=p_Name
             };

             var obj6 = new { xAxis = new[] { obj5 } };

                           modified_listofstrings.Add(obj4);
                           modified_listofstrings.Add(obj2);
                           modified_listofstrings.Add(obj6);

jSearializer.Serialize(modified_listofstrings);
List modified_listofstrings=new List();
System.Web.Script.Serialization.JavaScriptSerializer jSearializer=新的System.Web.Script.Serialization.JavaScriptSerializer();
var obj1=新{
数据=p_值
};
var obj2=new{Series=new[]{obj1};
var obj3=新
{
布局,
浮动
BGCOLOR,
排列
垂直对齐,
Y
x,,
};
var obj4=new{legend=new[]{obj3};
var obj5=新
{
类别=p_名称
};
var obj6=new{xAxis=new[]{obj5};
修改的_listofstrings.Add(obj4);
修改的_listofstrings.Add(obj2);
修改的_listofstrings.Add(obj6);
序列化(修改的字符串);
确切地说,我的传奇、系列和xAxis都被花括号包围了,我想消除它们,我该怎么做,任何帮助都将不胜感激。。而且所有图例的属性都应该用大括号括起来,如预期输出所示..在传递到serialize时,我是否在以正确的方式获取对象方面弄乱了。。?
有没有可能是我想要的…?

创建类而不是将项添加到对象类型这将更有效,并生成您想要的正确json

公共类图例
{
公共字符串布局{get;set;}
公共bool?浮动{get;set;}
公共字符串背景颜色{get;set;}
公共字符串对齐{get;set;}
公共字符串垂直对齐{get;set;}
公共int?y{get;set;}
公共int?x{get;set;}
}
公开课系列
{
公共列表数据{get;set;}
}
公共类XAxis
{
公共列表类别{get;set;}
}
公共类根对象
{
公共列表图例{get;set;}
公共列表系列{get;set;}
公共XAxis XAxis{get;set;}
}
现在将对象添加到这个类中,最后序列化RootObject,它是您的json


复制你的json并粘贴到上面,我将在上面生成用于创建对象的类

查看你想要的树…
Legend
Series
xAxis
是同一对象的同级属性…所以不要在服务器代码中将它们作为不同的对象分开,我试图在同一个对象中编写,但我无法这样做,我在编写代码时出错,请您以所需的方式更新代码,以便我可以知道我到底错在哪里..请..@charlietfl…我了解您的想法,谢谢…最后一个问题,你能告诉我如何在每个属性后将花括号放在图例中,也请分别回答,以便我可以将其作为答案进行检查。你可能需要再次检查结构…图例应该是一个对象,就像你在原始输出中使用的那样…查看图表上的演示site@charlietfl.. 我想要的输出,可能是图例,是一个对象,我需要在其中传递不同的属性,如布局、y、x等作为对象,然后我将如何做,预期的输出在highcharts中工作,我希望我的结果输出与highcharts中的一样。。
public class Legend
{
    public string layout { get; set; }
    public bool? floating { get; set; }
    public string backgroundColor { get; set; }
    public string align { get; set; }
    public string verticalAlign { get; set; }
    public int? y { get; set; }
   public int? x { get; set; }
}

   public class Series
{
    public List<int> data { get; set; }
}

public class XAxis
{
    public List<string> categories { get; set; }
}

public class RootObject
{
    public List<Legend> legend { get; set; }
    public List<Series> series { get; set; }
    public XAxis xAxis { get; set; }
}