對不起,如果我的問題有點乏味,我試着解釋一下。我應該如何在序列化之前存儲這些數據?
我目前正在一個小應用程序工作,我想使用JSON在本地存儲我的數據作爲一種保存/加載功能。
目前的json是這樣的:使用
{
"asdas": 0.2
}
林字典來存儲項目名稱和價格,我想添加更多的特性。然而,我的問題是我需要用整數循環我的字典。所以我的問題是,在我序列化之前應該如何存儲我的數據?
在此先感謝!
對不起,如果我的問題有點乏味,我試着解釋一下。我應該如何在序列化之前存儲這些數據?
我目前正在一個小應用程序工作,我想使用JSON在本地存儲我的數據作爲一種保存/加載功能。
目前的json是這樣的:使用
{
"asdas": 0.2
}
林字典來存儲項目名稱和價格,我想添加更多的特性。然而,我的問題是我需要用整數循環我的字典。所以我的問題是,在我序列化之前應該如何存儲我的數據?
在此先感謝!
您應該創建具有表示要存儲的數據的屬性的類。
class MyData
{
public string Name {get; set; }
public double Price { get; set; }
}
並且使用例如序列化/反序列化它。 Json.NET
如果我正確理解你的問題,你應該使用class的list實例。
我不知道你在儲存什麼,但我可以想象它是名稱和價格的「產品」。因此,您使用「名稱」和「價格」創建類別爲「產品」的類別properties。然後,您可以將所有「產品」存儲在列表中,並輕鬆將此列表序列化爲JSON。我可以推薦你fastJSON library。
這裏是一個小的代碼示例:
public class Product
{
private string _name = "";
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
private float _price = 0.0;
public float Price
{
get
{
return _price;
}
set
{
_price = value;
}
}
public Product(string name, float price)
{
this.Name = name;
this.Price = price;
}
}
在這裏產生的JSON(使用FASTJSON)的示例控制檯應用程序。
class Program
{
static void Main(string[] args)
{
// create a list of products
List<Product> products = new List<Product>();
// append, modify, delete list entries
products.Add(new Product("asdas", 0.2));
// serialize them and output text to console
Console.WriteLine(fastJSON.JSON.Instance.ToJSON(products));
}
}
現在您可以輕鬆地將屬性添加到Product類。免責聲明:所有的代碼都沒有經過測試,我沒有一個C#編譯器在這裏,所以把它與一粒鹽。這僅僅是一個例子。
爲什麼要在本地存儲JSON?通常它是更多不同系統之間交互的語言。無論如何,字典幾乎是序列化到JSON的最好的東西,因爲它已經是一個關鍵值對。 – SpaceSteak
@SpaceSteak如果我想要一個Key和多個值,該怎麼辦? –
那麼它還沒有存儲在字典中......但是如果你願意,你仍然可以將它序列化爲JSON。我過去的做法(儘管使用XML)是一個可以序列化並保存的UserSettings對象。工作得很好。不知道爲什麼一個鍵會有多個值。 – SpaceSteak