解析JSON对象数组:"最好的重载方法匹配有一些无效的参数"

Vit*_*kov 10 .net c# json json.net

我正在使用JSON.net来解析我从PHP脚本获取的对象数据.

我能够让它解析数组并打破它.然后,一旦我尝试解析该数组中的每个对象,我就会收到此错误:

Additional information: The best overloaded method match for 
'Newtonsoft.Json.JsonConvert.DeserializeObject(string)' 
has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

这是给我错误的函数:

    public void updateSearches()
    {
        var bw = new BackgroundWorker();

        bw.DoWork += (send, args) =>
        {
            WebClient client = new WebClient();
            JSON = client.DownloadString("URL");
            dynObj = JsonConvert.DeserializeObject(JSON);
            foreach (var item in dynObj)
            {
                dynamic search = JsonConvert.DeserializeObject(item);
                foreach (var s in search)
                {
                    joined += string.Join(",", s) + "END OF THE LINE\r\n";
                }
            }
        };

        bw.RunWorkerCompleted += (send, args) =>
        {
            this.mainWindow.richTextBox2.Text += "Got Data!\r\n";
            this.mainWindow.richTextBox2.Text += joined;
        };

        bw.RunWorkerAsync();

    }
Run Code Online (Sandbox Code Playgroud)

我昨晚才刚开始学习C#,所以我对此很新.如果您需要更多信息,请告诉我.

Aus*_*tin 18

什么样的对象是'JSON'?您需要传入一个字符串对象才能使DeserializeObject方法起作用.

  • 然后它必须在第二次调用DeserializeObject时抛出错误,而不是DeserializeObject(item)尝试DeserializeObject(item.ToString()) (8认同)