访问Windows窗体应用程序中的JSON数据

时间:2014-03-27 12:25:29

标签: json winforms

我关注点击事件:

private void button1_Click(object sender, EventArgs e)
{
    string usrname = textBox1.Text;
    string pass = textBox2.Text;
    Service1 ser = new Service1();
    string jay = ser.UsernamePass(usrname);

    dynamic string_json = Newtonsoft.Json.JsonConvert.DeserializeObject(jay);

    var password = string_json.login.Password.Value;

    if (pass == password)
    {
        h.Show();
    }
    MessageBox.Show("Wrong Password");
}

jay有以下值:

"{\"login\":[{\"Password\":\"admin123\"}]}"

string_json具有以下值:

{
    "login": [
    {
        "Password": "admin123"
    }]
}

在以下行:var password = string_json.login.Password.Value;

它引发了以下异常:

"'Newtonsoft.Json.Linq.JArray' does not contain a definition for 'Password'"

任何人都可以帮助我了解我如何访问数据? 如果你告诉我另一种访问数据的方法,它会很有用。

1 个答案:

答案 0 :(得分:1)

我可以看到,login是数组,所以请尝试:

var password = string_json.login[0].Password.Value;