gpt4 book ai didi

c# - 如何使用 C# 创建我的 json 字符串?

转载 作者:太空狗 更新时间:2023-10-29 20:44:00 30 4
gpt4 key购买 nike

我是 json 格式的新手。我想使用 C# 和 json.net 包创建以下 json 字符串。

这是我的目标 Json 格式:

{
"GetQuestions":
{
"s1":"Q1,Q2",
"s2":"Q1,Q3",
"s3":"Q4,Q5"
}
}

在这里,我存储了每个学生的问题。但有时,学生总数可能会有所不同。例如,可能只有 s1、s2 或 s1、s2、s3、s4...。这是在运行时计算的在 C# 中。所以,我想根据学生列表创建 json 字符串....

请指导我摆脱这个问题?

最佳答案

json有点奇怪,好像学生是“GetQuestion”对象的属性,应该很容易成为一个List.....

关于您可以使用的库是。

可能还有更多,但这是我用过的

关于json我现在不知道可能是这样的

public class GetQuestions
{
public List<Student> Questions { get; set; }
}

public class Student
{
public string Code { get; set; }
public string Questions { get; set; }
}

void Main()
{
var gq = new GetQuestions
{
Questions = new List<Student>
{
new Student {Code = "s1", Questions = "Q1,Q2"},
new Student {Code = "s2", Questions = "Q1,Q2,Q3"},
new Student {Code = "s3", Questions = "Q1,Q2,Q4"},
new Student {Code = "s4", Questions = "Q1,Q2,Q5"},
}
};

//Using Newtonsoft.json. Dump is an extension method of [Linqpad][4]
JsonConvert.SerializeObject(gq).Dump();
}

Linqpad

结果是这样的

{
"Questions":[
{"Code":"s1","Questions":"Q1,Q2"},
{"Code":"s2","Questions":"Q1,Q2,Q3"},
{"Code":"s3","Questions":"Q1,Q2,Q4"},
{"Code":"s4","Questions":"Q1,Q2,Q5"}
]
}

是的,我知道 json 是不同的,但是您想要的 json 与字典。

void Main()
{
var f = new Foo
{
GetQuestions = new Dictionary<string, string>
{
{"s1", "Q1,Q2"},
{"s2", "Q1,Q2,Q3"},
{"s3", "Q1,Q2,Q4"},
{"s4", "Q1,Q2,Q4,Q6"},
}
};

JsonConvert.SerializeObject(f).Dump();
}

class Foo
{
public Dictionary<string, string> GetQuestions { get; set; }
}

和字典是如你所愿.....

{
"GetQuestions":
{
"s1":"Q1,Q2",
"s2":"Q1,Q2,Q3",
"s3":"Q1,Q2,Q4",
"s4":"Q1,Q2,Q4,Q6"
}
}

关于c# - 如何使用 C# 创建我的 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14828520/

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