不管怎麼樣,你必須將該對象轉換爲字符串,我不確定你爲什麼不想使用JSON,但要做到這一點而不轉換爲JSON,你可以自己製作錯誤格式。
以下是將對象轉換爲字符串的示例,每個屬性用逗號分隔。
一些擴展方法
public static class ObjectSampleExtensions
{
public static ObjectClassSample ToObjectClassSample(this string s)
{
var parts = s.Split(new [] { ','});
return new ObjectClassSample
{
product = parts[0],
Description = parts[1],
Price = int.Parse(parts[2])
};
}
public static string ConvertToString(this ObjectClassSample objectToConvertToString)
{
const string delimiter = ",";
var sb = new StringBuilder();
sb.Append(objectToConvertToString.product);
sb.Append(delimiter);
sb.Append(objectToConvertToString.Description);
sb.Append(delimiter);
sb.Append(objectToConvertToString.Price);
return sb.ToString();
}
}
然後使用
void Main()
{
var obj = new ObjectClassSample
{
Description = "this is the description",
Price = 3,
product = "my product"
};
var s = obj.ConvertToString();
//you can now save s to the database
Db.Save(s);
//later on pretend you read 's' back from the database
s = Db.ReadAnItem();
var objectFromDb = s.ToObjectClassSample();
}
所以是的,你可以反正序列化數據,你想要的,但我會用一個通用的格式:JSON,XML,CSV,無論。
我不會推薦使用上面的代碼,這只是一個例子,以顯示你可以基本上做任何你想將它轉換爲字符串,只要你可以將它轉換回來。使用json解析器會更容易。
與ServiceStack.Text一個例子是這樣的
var objToSerialize = new ObjectClassSample(); //fill this with data
string myObjectAsString = objToSerialize.ToJson();
//reading it back from the database
ObjectClassSample myObj = myObjectAsString.FromJson<ObjectClassSample>();
我敢肯定newstonsoft.json是相似的。
正如你所看到的...更漂亮。
無論如何,你將不得不序列化你的課程。如果不是JSON,那麼XML – Uriil