c# - 在 json.Net 中创建命名子数组

标签 c# json.net

我正在尝试使用 JSON.net 创建命名的 JArray。我有一份食物 list ,例如下例中的牛奶。

在初始写入此数据时,列表(例如 List())中的所有食物项都有一个为每个食物项创建的数组,作为 Items 数组中的子数组。

稍后,在添加食物 JObject 时,我将其添加到适当的子数组中。

问题是为列表中的每个项目创建子数组。也许是因为现在是凌晨 5 点,但我似乎无法弄明白。

PS:我知道我可以创建一个示例类,例如下面的 Items 类,但是......我正在尝试动态地执行此操作。我有一个数据列表,我可以从中提取整个食物列表(以字符串格式),因此如果我可以通过我的食物列表来执行此操作,它将节省数小时的单调乏味。

感谢任何帮助。 谢谢

class Items{
    public List<string> Milk {get; set;}
    public List<string> Bread {get; set;}
}


    // Example Json
    {
    "Items":[
        "Milk":
        [
            {
                "name": "old milk",
            }
        ]
    ]
}

最佳答案

这里有项目类的实例:

Items items = new Items();

实例化一个新的牛奶列表:

List<string> Milk = new List<string>();

将项目添加到牛奶列表 string :

Milk.Add("old milk");

将列表复制到 items.Milk :

items.Milk = Milk;

并将项目对象转换为 Json 字符串:

var JsonItems = JSON.Stringify(items);

这只是您示例中类的实现。

更好的选择是对牛奶和面包使用 Dictionary 对象

也就是说,它看起来像 milk<"name", "Old milk">

希望这对您有所帮助。

关于c# - 在 json.Net 中创建命名子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42431222/

相关文章:

c# - WPF Clickonce 使用 Microsoft.Net.Sdk 发布

c# - 如何在返回相同对象类型的列表时显示Json对象名称/标签

c# - 在 BackgroundWorker 忙时禁用表单?

c# - 输出到标签时有没有办法保留格式?

c# - 使用 C# 和 JavaScript 对手机号码进行验证检查

c# - JSON .Net 在反序列化时不遵守 PreserveReferencesHandling

c# - 将类实例转换为字典以进行迭代

c# - 如何解析嵌套的JSON数据结构

c# - 反序列化 Json 以列出 C#

C#:如何在 GMap.NET 中生成 map 中心附近的随机位置?