0
在我的c#應用程序中,我從外部設備收到以下消息。Laravel反序列化消息
Title: Color, Text: 6, Number: 0, Logic: false
如何從此字符串消息中創建屬性?
通常我反序列化它,但在這種情況下,它不是json!
在我的c#應用程序中,我從外部設備收到以下消息。Laravel反序列化消息
Title: Color, Text: 6, Number: 0, Logic: false
如何從此字符串消息中創建屬性?
通常我反序列化它,但在這種情況下,它不是json!
嗯,你總是可以回落到美好的舊手工解析......假設屬性值永遠不會包含字符,
,你可以做這樣的事情:
static IDictionary<string, string> Parse(string input)
{
var result = new Dictionary<string, string>();
var pairs = input.Split(',');
foreach (var pair in pairs)
{
var parts = pair.Split(new[] { ':' }, 2);
string name = parts[0];
string value = parts[1];
result.Add(name, value);
}
return result;
}
(當然,如果你想要反序列化它作爲一個對象,你將不得不將每個值轉換爲實際屬性類型)
的解串器謝謝偉大的作品。 – Jamie
反序列化是解析* something *和返回類的過程的通用名稱。沒有一個通用的反序列化器。除此之外還有二進制,xml和json反序列化器。如果你想反序列化一個自定義格式,你必須自己創建反序列化器。 *這是什麼格式?也許有人已經創建了這個 –