[英]Converting object to string
這是我的對象的內容:
- tree {ItemTree} ItemTree
id "0" string
im0 null string
- item Count = 1 System.Collections.Generic.List<ItemTree>
- [0] {ItemTree} ItemTree
id "F_1" string
im0 "something.gif" string
+ item Count = 16 System.Collections.Generic.List<ItemTree>
parentId "0" string
text "someName" string
+ Raw View
parentId null string
text "" string
而且我是動態構建的,因此更大。
它是此類的一個對象:
public class ItemTree
{
public String id { get; set; }
public String text { get; set; }
public List<ItemTree> item { get; set; }
public string im0 { get; set; }
public String parentId { get; set; }
}
因此,類ItemTree具有一個屬性,該屬性本身就是ItemTree對象的列表。
我想將其轉換為字符串。 當我做:
tree.ToString()
我只會得到:
tree.ToString() "ItemTree" string
但是我想將整個樹結構轉換為字符串。 這個怎么做?
您需要重寫ToString
方法並在其中打印樹的表示形式
public class ItemTree
{
public override string ToString()
{
return "Tree " + id +....
}
}
否則,您將始終看到類名是基於基礎ToString()的結果
如果重寫ToString方法,則其他實現將被其他調用ToString的代碼使用,這僅僅是因為它是一種標准方法(從Object繼承)。
(可選)您可以實現新方法。
無論哪種方式,為了避免手動更新方法,都可以使用Json.Net生成一個字符串,如下所示:
string str = JsonConvert.SerializeObject(someObject);
這是文檔中的示例:
Product product = new Product();
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };
string output = JsonConvert.SerializeObject(product);
//{
// "Name": "Apple",
// "ExpiryDate": "2008-12-28T00:00:00",
// "Price": 3.99,
// "Sizes": [
// "Small",
// "Medium",
// "Large"
// ]
//}
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);
Nuget軟件包: http ://nuget.org/packages/Newtonsoft.Json/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.