このツールを使用して、C# クラスをカンニングしてすばやく作成します: http://json2csharp.com/ (またはhttp://jsonclassgenerator.codeplex.com/を発見したばかり)
次に、C# クラスを好みに合わせて変更します
public class MessagesJSON
{
public int MessageCount { get; set; }
public List<Message> Messages { get; set; }
}
public class Message
{
public string To { get; set; }
public double MessagePrice { get; set; }
public int Status { get; set; }
public string MessageId { get; set; }
public double RemainingBalance { get; set; }
public string Network { get; set; }
}
MessagesJSONは、C# に渡す JSON オブジェクトを表す名前です。
クライアントから JSON 文字列を渡します。
{\"MessageCount\":1,\"Messages\":[{\"To\":\"441234567890\",\"MessagePrice\":0.029,\"Status\":0,\"MessageId\":\"030000001DFE2CB1\",\"RemainingBalance\":1.565,\"Network\":\"23433\"}]
次に、JSON.NET を使用して JSON を C# オブジェクトに変換します。
public void YourMethod(MessagesJSON json) {
var result = JsonConvert.DeserializeObject<MessagesJSON>(json);
}
結果は次のとおりです。
大文字に注意してください。
小文字の JSON キーのみを使用する場合は、C# クラスを小文字に変更します。設定; }
C# クラス:
public class MessagesJSON
{
public int message_count { get; set; }
public List<Message> messages { get; set; }
}
public class Message
{
public string to { get; set; }
public string messageprice { get; set; }
public string status { get; set; }
public string messageid { get; set; }
public string remainingbalance { get; set; }
public string network { get; set; }
}
これは、必要に応じて JSON に近いものです。
{\"message_count\":1,\"messages\":[{\"to\":\"441234567890\",\"messageprice\":\"0.02900000\",\"status\":\"0\",\"messageid\":\"030000001DFE2CB1\",\"remainingbalance\":\"1.56500000\",\"network\":\"23433\"}]}
または、キャメルケーシングが本当に好きな場合は、次のソリューションのいずれかを使用してください。
Json.NetでPropertyNameが明示的に設定されていない場合にのみキャメルケース?
JSON.Net を使用した JObject & CamelCase 変換
自分は属性の方が好き
public class Message
{
[JsonProperty("to")]
public string To { get; set; }
[JsonProperty("messageprice")]
public string MessagePrice { get; set; }
[JsonProperty("status")]
public string Status { get; set; }
[JsonProperty("messageid")]
public string MessageId { get; set; }
[JsonProperty("remainingbalance")]
public string RemainingBalance { get; set; }
[JsonProperty("network")]
public string Network { get; set; }
}
あなたの文字列を渡します:
"{\"message_count\":1,\"messages\":[{\"to\":\"441234567890\",\"messageprice\":\"0.02900000\",\"status\":\"0\",\"messageid\":\"030000001DFE2CB1\",\"remainingbalance\":\"1.56500000\",\"network\":\"23433\"}]}"
しかし、きれいな C# プロパティ名を取得します。