2016-09-30 6 views
0

私のC#アプリケーションでは、外部デバイスから次のメッセージを受け取ります。Laravel deserialiseメッセージ

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

この文字列メッセージからプロパティを作成するにはどうすればよいですか?

通常、私はそれを逆シリアル化しますが、この場合はjsonです!

+0

逆シリアル化は、* something *を解析してクラスを返すプロセスの総称です。一般的なデシリアライザはありません。バイナリ、xml、jsonデシリアライザがあります。あなたがカスタムフォーマットをデシリアライズしたい場合、デシリアライザを自分で作成する必要があります。 *この形式は何ですか?おそらく誰かがこれのためのデシリアライザを作成しています –

答えて

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

(もちろん、あなたの場合各値を実際のプロパティタイプに変換する必要があるオブジェクトとして逆シリアル化したい)

+0

ありがとうございます。 – Jamie

関連する問題