Ajout d'objet JSON à l'aide de JSON.net

J'ai besoin de sérialiser un objet JSON qui ressemble à ceci:

{
   "Documents": [
      {
         "Title": "",
         "DatePublished": "",
         "DocumentURL": "",
         "ThumbnailURL": "",
         "Abstract": "",
         "Sector": "",
         "Country": [
            "", "", ""
         ],
         "Document Type": ""
      }
   ]
}

Ce que je fais est de prendre les données à partir de SQL server et de stocker les résultats dans un objet comme ceci:

public List<Dictionary<string, string>> GetResults()
{
    int index = 0;
    while (this.myReader.Read())
    {

        this.dataFrmDb = new Dictionary<string, string>();
        for (int i = 0; i < myReader.FieldCount; i++)
        {
            if (myReader.GetName(i) == "Country")
            {
                string[] delimiter = { " _qfvcq_ " };
                string text = myReader[myReader.GetName(i)].ToString();
                string[] results = text.Split(delimiter, StringSplitOptions.None);

                //This list stores the values for "Country". 
                List<string> countries = new List<string>();
                for (int j = 0; j < results.Count(); j++)
                {
                    countries.Add(results[j].ToString()); 
                }
            }
            else
            {                           
                this.dataFrmDb.Add(myReader.GetName(i), 
                          myReader[myReader.GetName(i)].ToString());
            }
        }

        this.dictList.Add(this.dataFrmDb);
    }
    return this.dictList;
}

Je puis prendre ces données et de les sérialiser comme ceci:

Database connect = new Database(
    System.Configuration.ConfigurationManager.AppSettings["DatabaseConnectionString"],
    System.Configuration.ConfigurationManager.AppSettings["StoredProcedure"]);

List<Dictionary<string, string>> dataResults = connect.GetResults();           

Dictionary<string, List<Dictionary<string, string>>> myList = 
            new Dictionary<string, List<Dictionary<string, string>>>();

myList.Add("Documents", dataResults);

string ans = JsonConvert.SerializeObject(myList, Formatting.Indented);
System.Console.WriteLine(ans);

Je reçois le bon de sortie mais si vous regardez dans l'original format JSON, "Pays" doit avoir plusieurs valeurs. Je ne sais pas comment la mettre que dans cet objet JSON. Comment puis-je ajouter une liste avec le "Pays" des valeurs de l'objet JSON à l'aide de JSON.net? Est-il une autre façon d'aller à ce sujet?

InformationsquelleAutor Kreston | 2013-04-09