如何通过字符串获取动态json值?

时间:2019-02-25 19:17:05

标签: c# json string winforms dynamic

我正在做一种获取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中引起我上面提到的错误。

1 个答案:

答案 0 :(得分:-1)

string jsonOffset = json [Directory] ​​[json]; 第一个json是我在其中解析它的动态值,而[]中的第二个json是字符串。