【发布时间】:2018-05-17 14:03:16
【问题描述】:
我正在网络抓取一些数据并尝试使用 C# newtonsoft.Json 将抓取的数据写入 json 文件
在我的 .ToDictionary 函数中编写 foreach 以及无法 ++ 将索引添加到我的 .ToDictionary 函数时,我遇到了困难。
我的班级:
public class JsonParametersData
{
public bool required { get; set; }
public bool list { get; set; }
public List<string> options { get; set; }
}
我的数组
var jsonData = new List<Dictionary<string, Dictionary<string, JsonParametersData>>>();
var moduleParameters = new List<string>();
var parameterOptionsArray = new List<List<string>>();
var parameterOptions = new List<string>();
var requiredArray = new List<bool>();
var listArray = new List<bool>();
string moduleName = item.Attributes["href"].Value.Replace("_module.html", "");
注释的代码显示了我正在尝试做的事情。
int index = 0;
jsonData.Add(new Dictionary<string, Dictionary<string, JsonParametersData>>()
{
{
moduleName,
moduleParameters
.ToDictionary(n => n,
n => new JsonParametersData
{
required = requiredArray[index],
list = listArray[index],
options = new List<string>() { "option1", "option2" },
/*
foreach (var parameteroption in parameterOptionsArray[index])
{
options.Add(parameteroption);
}
index++;
*/
})
}
});
string json = JsonConvert.SerializeObject(jsonData.ToArray());
//write string to file
System.IO.File.WriteAllText(@"path", json);
【问题讨论】:
-
您只能在对象初始化器中进行赋值(这就是
new { ... }的名称)。但是,您可以在初始化字典时添加选项。 -
你会怎么做?你能给我一个例子吗?
标签: c# json web-scraping lambda