Laravel deserialise消息

时间:2016-09-30 09:17:10

标签: c# laravel

在我的c#应用程序中,我从外部设备收到以下消息。

Title: Color, Text: 6, Number: 0, Logic: false

如何从此字符串消息中创建属性?

通常我反序列化它,但在这种情况下它不是json!

1 个答案:

答案 0 :(得分:1)

好吧,你总是可以回到旧的手动解析...假设属性值永远不会包含字符,,你可以这样做:

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;
}

(当然,如果你想将它反序列化为一个对象,你必须将每个值转换为实际的属性类型)