Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

parsing JSON array of objects: "The best overloaded method match has some invalid arguments"

I'm using JSON.net to parse the object data that I'm getting from a PHP script.

I'm able to get it to parse the array and break that down. Then once I try to parse each object within that array I'm getting this error:

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

This is the function that is giving me errors:

    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();

    }

I just started learning C# last night, so I'm very new at this. Please let me know if you need more info.

like image 278
Vitaliy Isikov Avatar asked Mar 05 '13 22:03

Vitaliy Isikov


1 Answers

What kind of object is 'JSON'? You need to pass in a string object for the DeserializeObject method to work.

like image 98
Austin Avatar answered Oct 05 '22 22:10

Austin