[英]Serialize array with Newtonsoft.Json c#
我的項目的app.config
文件中有一些參數。 我想為客戶盡可能簡化這些參數
<add key="name" value="Incognito"/>
<add key="emails[0].type" value="Personal"/>
<add key="emails[0].email" value="abc@abc.com"/>
我需要根據這些參數執行JSON。 現在我用Dictionary
var parameters = new Dictionary<string, string>();
for (int i = 0; i < settings.Count; i++)
{
parameters.Add(settings.GetKey(i), settings[i]);
}
var jsonData = JsonConvert.SerializeObject(parameters);
在這種情況下,我的結果是:
{ "name": "Incognito", "emails[0].type": "Personal", "emails[0].email": "abc@abc.com" }
但我想看看通常的JSON數組:
{ "name": "Incognito", "emails": [{"type": "Personal", "email": "abc@abc.com"}, {...}] }
我怎樣才能做到這一點? 如何正確序列化? 或者,也許您知道一種以人類可讀格式在app.config
中寫入數據的方法?
要獲取JSON數組,您需要使用更多類似數組的東西,例如說一個具有type
和email
屬性的Array
或List
類型。
public class Parameters{
public string Name { get; set; }
public List<Email> Emails { get; set; }
}
public class Email{
public string Type { get; set; }
public string Email { get; set; }
}
序列化Parameters
實例將為您提供所需的JSON結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.