ItsGreg ItsGreg - 2 months ago 14
JSON Question

Parsing json objects

I'm having trouble understanding how to parse JSON string into c# objects with Visual .NET. The task is very easy, but I'm still lost...
I get this string:

{"single_token":"842269070","username":"example123","version":1.1}


And this is the code where I try to desterilize:

namespace _SampleProject
{
public partial class Downloader : Form
{
public Downloader(string url, bool showTags = false)
{
InitializeComponent();
WebClient client = new WebClient();
string jsonURL = "http://localhost/jev";
source = client.DownloadString(jsonURL);
richTextBox1.Text = source;
JavaScriptSerializer parser = new JavaScriptSerializer();
parser.Deserialize<???>(source);
}


I don't know what to put between the '<' and '>', and from what I've read online I have to create a new class for it..? Also, how do I get the output?
An example would be helpful!

Answer

Create a new class that your JSON can be deserialized into such as:

public class UserInfo
{
    public string single_token { get; set; }
    public string username { get; set; }
    public string version { get; set; }
}

public partial class Downloader : Form
{
    public Downloader(string url, bool showTags = false)
    {
        InitializeComponent();
        WebClient client = new WebClient();
        string jsonURL = "http://localhost/jev";
        source = client.DownloadString(jsonURL);
        richTextBox1.Text = source;
        JavaScriptSerializer parser = new JavaScriptSerializer();
        var info = parser.Deserialize<UserInfo>(source);

        // use deserialized info object
    }
}