gpt4 book ai didi

json - 带有 JavaScriptSerializer 的嵌套列表

转载 作者:行者123 更新时间:2023-12-04 21:46:48 24 4
gpt4 key购买 nike

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

{
"chart": "pie",
"series": [
{
"name": "Browsers",
"data": [
[
"Firefox",
6
],
[
"MSIE",
4
]
],
"size": "43%"
}
]
}

我面临的问题是关于数据部分。我似乎无法创建一个序列化为上述数据结构的类。

我已经阅读了其他涉及该主题的帖子,但解决方案似乎总是使用 JSON.Net。例如 Serializing dictionaries with JavaScriptSerializer .虽然,我主要想通过使用 JavaScriptSerializer 或 .Net 3.5 框架中的其他内置功能来解决它​​。

如何生成数据部分?

*编辑使用 JavaScriptSerializer 解决它的方法是为即将被序列化的对象的数据属性创建一个对象数组。

输入参数数据为“Firefox:6\nMSIE:4\nChrome:7”。

公共(public)对象[] GetData(字符串数据)
{
var dataStrArr = data.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
        var dataArr = new object[dataStrArr.Length];

for (var index = 0; index < dataStrArr.Length; index++)
{
var component = dataStrArr[index];
var componentArr = component.Split(':');
if (componentArr.Length != 2)
continue;

var key = componentArr[0];
decimal value;

if (decimal.TryParse(componentArr[1], out value))
{
var keyValueArr = new object[2];
keyValueArr[0] = key;
keyValueArr[1] = value;

dataArr[index] = keyValueArr;
}
}

return dataArr;
}

最佳答案

我认为你需要类似下面的类(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; }
}

让我知道这是否有帮助。

关于json - 带有 JavaScriptSerializer 的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com