C#如何使用JsonConvert中的list将值插入Excel

qvsjd97n  于 12个月前  发布在  C#
关注(0)|答案(1)|浏览(185)

我发出一个API调用,并将JSON响应格式化。下面显示的JSON响应。我想从Test1中获取值,并将这些值添加到列表中,然后插入到Excel工作表中。

...

public class Loc
{
    public string Area1 { get; set; }
    public string Area2 { get; set; }
}

public class Risk
{
    public float Test1 { get; set; }
    public float Test2 { get; set; }
}

public class Response
{
    public Loc loc;
    public Risk risk;
}

[
  {
    "Loc": {
      "Area1": "1",
      "Area2": "2"
    },
    "Risk": {
      "Test1": 1.14,
      "Test2": 1.72
    }
  },
  {
    "Loc": {
      "Area3": "3",
      "Area4": "4"
    },
    "Risk": {
      "Test1": 1.14,
      "Test2": 1.71
    }
  }
]
var records = JsonConvert.DeserializeObject<List<Response>>(apiResult);

字符串
当我循环遍历对象时,我可以访问Test1的值并写入控制台。但是当我循环遍历并访问相同的值以添加到列表(见下文)并循环遍历该列表以查看结果时,我得到ConsoleApp.Program+Score。我不知道如何使用我添加到列表中的内容-这意味着我可以访问此列表以将数据插入Excel工作表中吗?

foreach (var data in records)
{
    Console.WriteLine(data.Risk.Test1);
}

public class Score
{
    public float score { get; set; }
}

List<Score> scores = new List<Score>();

foreach (var score in records)
{
    scores.Add(new Score
    {
        score = score.risk.Test1
    });
}

foreach (object s in scores)
{
    Console.WriteLine(s);
}

dpiehjr4

dpiehjr41#

重新Jawad的评论谢谢你。改变了我填充的列表为浮点数,并添加了Test1值,而不是我正在做的将整个对象添加到列表中。
修正:

public class Score
{
    public float score { get; set; }
}

List<Score> scores = new List<Score>();

foreach (var score in records)
{
    scores.Add(new Score
    {
        score = score.risk.Test1
    });
}

字符串
收件人:

List<float> scores = new List<float>();

foreach (var score in records)
{
    scores.Add(score.risk.Test1);
}

相关问题