c# - 使用JSON将多个值存储在一个密钥中

时间:2014-10-16 00:32:45

标签: c# .net json winforms

我正在尝试将多个值(数组)放在一个键中,但我不知道该怎么做。
我试过了:

public class Customer
{
     public string Name { get; set; }
     public string Bought[5] { get; set; }
}

List<Customer> Products = new List<Customer>();

Customer product = new Customer();
product.Bought[0] = listproducts.SelectedIndex;
product.Bought[1] = listproducts.SelectedIndex;
product.Bought[3] = listproducts.SelectedIndex;
product.Bought[4] = listproducts.SelectedIndex;
product.Bought[5] = listproducts.SelectedIndex;

我知道这是错的,但对于我正在努力做的事情来说,这是一个糟糕的例子 我正是通过这种方式尝试的东西:
Store multiple values in single key in json
但我不知道如何适应C# 我只需要保存到JSON文件:

[{"Name":"Bryan", "Products":"car", "boat", "bike"}]

如果有人能够帮助我,我将不胜感激。我会进一步迈向知识。

3 个答案:

答案 0 :(得分:0)

您应该只使用List<string>购买,或List<BoughtObject>

这将创建

{ // Customer
    Name : "Bryan",
    Bought: [// Array of your bought objects 
        { ... },
        { ... }
        ]
}

如果你只是希望它是一个单独的字符串逗号分隔(然后在客户端分割它或显示它像#34; Boat,Jet,Tv&#34;你可以将它保留为字符串类型然后做一个.Join(boughtItems)

答案 1 :(得分:0)

您可以使用Dictionary<Type1, List<type2> >之类的内容。在您的情况下,您可以Dictionary<string, List<string> >。这样,您就可以为密钥存储多个值。

答案 2 :(得分:0)

尝试使用它可能会起作用

                  public class Customer
                  {
                  public string Name { get; set; }
                  public readonly string[] Bought = new string[5];
                  }