0

我有一些存储在 C# 字典中的数据。现在我想将此字典对象序列化为我在下面指定的 json 格式...

这是我的 C# 代码:

public void generateJsonString()
{
    StudInfo studDetails = new StudInfo();

    studDetails.GetQuestions.Add("s1", "Q1,Q2");
    studDetails.GetQuestions.Add("s2", "Q1,Q3");
    studDetails.GetQuestions.Add("s3", "Q4,Q5");

    string jsonString = JsonConvert.SerializeObject(studDetails, Formatting.Indented);
}

public class StudInfo
{
    public Dictionary<string, string> GetQuestions = new Dictionary<string, string>();
}

它的输出如下所示...

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

但我要求的格式是:

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

生成的输出中需要的更新是......(关于我所需的格式)

  1. GetQuestions 不需要双引号
  2. 我想创建 getQuestions 作为数组对象
4

1 回答 1

4
string serializedString = JsonConvert.SerializeObject(studDetails);

反序列化(如果需要)

StudInfo = JsonConvert.Deserialize<StudInfo>(serializedString);

这将使用泛型和运行时安全将其转换回 StudInfo 对象。

一旦序列化,更改 Public Dictionary<string, string>public List<Dictionary<string, string>>将强制它进入一个数组。

于 2013-02-16T05:26:11.240 回答