Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Json 带有JavaScriptSerializer的嵌套列表_Json_Javascriptserializer - Fatal编程技术网

Json 带有JavaScriptSerializer的嵌套列表

Json 带有JavaScriptSerializer的嵌套列表,json,javascriptserializer,Json,Javascriptserializer,我试图在Net 3.5中使用JavaScriptSerializer生成以下JSON结构: { "chart": "pie", "series": [ { "name": "Browsers", "data": [ [ "Firefox", 6 ],

我试图在Net 3.5中使用JavaScriptSerializer生成以下JSON结构:

{
    "chart": "pie",
    "series": [
        {
            "name": "Browsers",
            "data": [
                [
                    "Firefox",
                    6
                ],
                [
                    "MSIE",
                    4
                ]
            ],
            "size": "43%"
        }
    ]
}
我面临的问题是关于数据部分。我似乎无法创建序列化到上述数据结构中的类

我读过其他一些文章,这些文章都触及了这个主题,但解决方案似乎总是使用JSON.Net。例如。尽管如此,我还是希望通过使用JavaScriptSerializer或.NET3.5框架中的其他内置功能来解决这个问题

如何生成数据段

*EDIT使用JavaScriptSerializer解决此问题的方法是为即将序列化的对象上的数据属性创建一个对象数组

输入参数数据为“Firefox:6\n浏览器:4\n浏览器:7”

公共对象[]获取数据(字符串数据) { var dataStrArr=data.Split(new[]{Environment.NewLine},StringSplitOptions.None)

var dataArr=新对象[dataStrArr.Length];
对于(var index=0;index
我认为您需要类似以下类(RootObject)的东西来序列化它:

public class Series
{
  public string name { get; set; }
  public List<List<object>> data { get; set; }
  public string size { get; set; }
}

public class RootObject
{
  public string chart { get; set; }
  public List<Series> series { get; set; }
}
公共类系列
{
公共字符串名称{get;set;}
公共列表数据{get;set;}
公共字符串大小{get;set;}
}
公共类根对象
{
公共字符串图表{get;set;}
公共列表系列{get;set;}
}

如果有帮助,请告诉我。

您链接到的帖子的可能副本具有本机.Net解决方案(覆盖序列化程序)。不过,熟悉JSON.Net要容易得多……如果他仍在使用.NET3.5,他可能会在技术上受到限制,可能不会选择JSON.Net。
public class Series
{
  public string name { get; set; }
  public List<List<object>> data { get; set; }
  public string size { get; set; }
}

public class RootObject
{
  public string chart { get; set; }
  public List<Series> series { get; set; }
}