【发布时间】:2018-11-26 14:05:58
【问题描述】:
string code = "ru";
string searchUrl = $"{Endpoint}getLangs?key={ApiKey}&ui=en";
string json;
using (var client = new WebClient())
{
json = client.DownloadString(searchUrl);
}
var dataObject = JsonConvert.DeserializeObject<dynamic>(json);
return dataObject.langs.code;
在这个 sn-p 中,searchUrl 是一个字符串,包含我正在使用的 API 的 URL。现在最后一行return dataObject.langs.code; 返回null,因为在dataObject(动态对象)中的json 中没有这样的条目。但是return dataObject.langs.ru; 返回一个我期望的正确字符串。
发生这种情况是因为return dataObject.langs.code; code 是dataObject 的动态成员,而不是我在上面声明的字符串代码。我如何使用我声明的 code 而不是它认为存在于 dataObject 中的动态代码,因为它是动态的。
【问题讨论】:
标签: c# json dynamic deserialization ambiguous