2015-08-13 16 views
0

對不起,如果我的問題有點乏味,我試着解釋一下。我應該如何在序列化之前存儲這些數據?

我目前正在一個小應用程序工作,我想使用JSON在本地存儲我的數據作爲一種保存/加載功能。

目前的json是這樣的:使用

{ 
    "asdas": 0.2 
} 

林字典來存儲項目名稱和價格,我想添加更多的特性。然而,我的問題是我需要用整數循環我的字典。所以我的問題是,在我序列化之前應該如何存儲我的數據?

在此先感謝!

+0

爲什麼要在本地存儲JSON?通常它是更多不同系統之間交互的語言。無論如何,字典幾乎是序列化到JSON的最好的東西,因爲它已經是一個關鍵值對。 – SpaceSteak

+0

@SpaceSteak如果我想要一個Key和多個值,該怎麼辦? –

+0

那麼它還沒有存儲在字典中......但是如果你願意,你仍然可以將它序列化爲JSON。我過去的做法(儘管使用XML)是一個可以序列化並保存的UserSettings對象。工作得很好。不知道爲什麼一個鍵會有多個值。 – SpaceSteak

回答

2

您應該創建具有表示要存儲的數據的屬性的類。

class MyData 
{ 
    public string Name {get; set; } 
    public double Price { get; set; } 
} 

並且使用例如序列化/反序列化它。 Json.NET

0

如果我正確理解你的問題,你應該使用classlist實例。

我不知道你在儲存什麼,但我可以想象它是名稱和價格的「產品」。因此,您使用「名稱」和「價格」創建類別爲「產品」的類別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#編譯器在這裏,所以把它與一粒鹽。這僅僅是一個例子。

相關問題