我正在做一种获取json值的方法。
我的问题是,如果我尝试将方法的参数实现为动态json值,那么它将无法正常工作。
如果我只为值写“路径”,它就可以工作。
在这段代码中,string value= json.myDirectory.myJson;
是我的“路径”,它也是有效的。
public static Int32 GetJson(string Directory, string json)
{
using (var client = new HttpClient())
{
var responseString = client.GetStringAsync("LinkToTheWebsite").Result.ToString();
dynamic json = JObject.Parse(responseString);
string value= json.myDirectory.myJson; <- this is working but if i try this, its not:
string value= json.Directory.json
MessageBox.Show(value);
}
return 1;
}
错误:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The runtime binding cannot be executed for a NULL reference.
但是,如果我使用GetJson("myDirectory", "myJson");
调用该方法,则会在行string value= json.Directory.json
中引起我上面提到的错误。
答案 0 :(得分:-1)
string jsonOffset = json [Directory] [json]; 第一个json是我在其中解析它的动态值,而[]中的第二个json是字符串。