【发布时间】:2021-02-05 13:25:02
【问题描述】:
对不起,基本问题,我是初学者,试图找到我的问题,但没能找到
string json = "{\"EmailList\":[{\"name\":\"John Bravo\",\"email\":\"email@gmail.com\"},{\"name\":\"Daniel Alutcher\",\"email\":\"email@gmail.com\"},{\"name\":\"James Rodriguez\",\"email\":\"email@gmail.com\"}]}";
JObject rss = JObject.Parse(json);
var data = JsonConvert.DeserializeObject<dynamic>(json);
dynamic emails = data.EmailList;
List<string> emailList = new List<string>();
foreach (dynamic item in emails)
{
int x = 0;
if (item.email != null)
{
Console.WriteLine(item.email);
//emailList.Add(item.email); // throws exception System.Collections.Generic.List<string>.Add(string)' has some invalid arguments'
}
}
所以我通过这个 JSON 循环,我可以在控制台中获取每封电子邮件,但是当我尝试将它添加到列表时,它会抛出异常错误
【问题讨论】:
-
list.Add(item.email as string);玩得开心:)
-
@Leron_says_get_back_Monica 虽然这将消除异常,但列表将充满
nulls,因为动态对象不是字符串。 -
您可以将整个问题简化为以下代码:
dynamic test = new JValue("Test"); new List<string>().Add(test);,我想知道为什么会失败,因为string s = test;可以正常工作。