gpt4 book ai didi

c# - 使用 Newtonsoft.Json c# 序列化数组

转载 作者:行者123 更新时间:2023-11-30 21:29:33 37 4
gpt4 key购买 nike

我的项目的 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 数组,你需要使用更像数组的东西,比如一个 ArrayList 类型,它同时具有 type email 属性。

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 结构。

关于c# - 使用 Newtonsoft.Json c# 序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279794/

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