我正在使用Visual Studio创建一个C#表单应用程序,该应用程序使用API与服务器进行通信。
///elsewhere in program
var jsonparams = JsonParam.DesJson(jsonString);
///
public partial class JsonParam
{
public List<InsideData> data { get; set; }
public string errmsg { get; set; }
public int status { get; set; }
public int ts { get; set; }
}
public partial class InsideData
{
public string access_token { get; set; } = "";
public string alias { get; set; }
public string uid {get; set;}
//etc etc
}
public partial class JsonParam
{
public static JsonParam DesJson(string jsonString) => JsonConvert.DeserializeObject<JsonParam>(jsonString);
}
foreach (var a in jsonParam.data)
{
comboBox1.Items.Add(a.alias);
}
这正常工作,但是,然后我对几个不同的jsonString重复1和2多次。这使我在comboBox中有几个“别名”条目。
我的下一步是从comboBox中选择一个“别名”并打印出以前从jsonString解析的“ uid”,但是当然,因为我多次调用了JsonParam函数(以获取更多的“ alias”条目) ),则先前的“别名”条目中保存的“ uid”条目已丢失。
每次解析jsonString以便以后可以访问数据时,将所有数据保存在“ InsideData”中的最佳方法是什么?
有点像:
jsonString1.alias
jsonString2.alias
欢呼
答案 0 :(得分:1)
更改此:
foreach (var a in jsonParam.data)
{
comboBox1.Items.Add(a.alias);
}
为此:
foreach (var a in jsonParam.data)
{
ComboboxItem item = new ComboboxItem();
item.Text = a.alias;
item.Value = a.uid;
comboBox1.Items.Add(item);
}