【发布时间】:2021-06-16 18:22:15
【问题描述】:
下面的 GetValue 方法接收 JSON 格式的传入符号的数据,并使用 Newtonsoft.Json 库将数据转换为动态对象。 TryGetValue 方法是从 JSON 数据中获取作为参数传入的字段名称的值。最后,如果字段有效则返回数据,但如果字段无效,则返回错误消息。
private string GetValue(string symbol, string field)
{
string json = HttpGet(symbol, field);
dynamic obj = JsonConvert.DeserializeObject(json);
var quote = obj.query.results.quote;
JToken returnValue = null;
quote.TryGetValue(field, out returnValue);
if (returnValue != null)
return returnValue.Value();
return field + " is not a valid field name.";
}
我的问题在下面一行,我收到错误“没有给定的参数对应于'JToken.Value(object)的所需形式参数'key'”:
return returnValue.Value();
我该如何解决这个错误?
【问题讨论】:
-
json字符串是什么样的?该方法应该返回什么字符串?可以分享minimal reproducible example吗? -
在您使用
dynamic类型时缺少一些详细信息。使您难以调试 -
@dbc 很抱歉,但我对这整件事有点陌生。为了简单起见,我正在尝试创建一个 Excel RTD 服务器,它从 Yahoo Finance API 获取信息。我已经从这个链接复制了我的代码:add-in-express.com/creating-addins-blog/2014/09/25/…