これについて助けが必要です:
私のJSON(Diablo 3 APIからのものです):
{
"name":"Exsanguinating Chopsword of Assault",
"icon":"mightyweapon1h_202",
"displayColor":"blue",
"tooltipParams":"item-data/COGHsoAIEgcIBBXIGEoRHYQRdRUdnWyzFB2qXu51MA04kwNAAFAKYJMD",
"requiredLevel":60,
"itemLevel":61,
"bonusAffixes":0,
"dps":{
"min":206.69999241828918,
"max":206.69999241828918
}
}
完全なJSONではありませんが、勉強中なのでこの部分だけ解析してみます。
文字列の名前、アイコン、表示色を取得する方法は知っていますが、DPS を取得する方法はわかりません。
私のモデルクラスは次のとおりです。
namespace Diablo_III_Profile
{
[DataContract]
public class ItemInformation : INotifyPropertyChanged
{
private string _name;
[DataMember]
public string name
{
get
{
return _name;
}
set
{
if (value != _name)
{
_name = value;
NotifyPropertyChanged("name");
}
}
}
//others strings and ints here
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (null != handler)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
モデルクラスに入れるDPSの「フォーマット」は何ですか?
私がこれを使用している文字列を読み取るには:
MemoryStream ms = new MemoryStream();
ItemInformation data = (ItemInformation)Deserialize(ms, typeof(ItemInformation));
MessageBox.Show(data.name);
DPSも同じはず?
編集:
やったよ!それが最善の方法かどうかはわかりませんが....
私が入れたモデルクラスの中に
public class DPS
{
public float min { get; set; }
public float max { get; set; }
}
private DPS _dps;
[DataMember]
public DPS dps
{
get
{
return _dps;
}
set
{
if (value != _dps)
{
_dps = value;
NotifyPropertyChanged("dps");
}
}
}