[英]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.