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 に答える