“Newtonsoft.Json.JsonReaderException”类型的未处理异常 发生在Newtonsoft.Json.dll
其他信息:解析时遇到意外的字符 值:W。路径'',第2行,第1位。
这对我来说是个问题,因为我使用的是一个应用程序(用C#开发)。我发现获取信息的方式是:创建一些PHP文件,托管在我的服务器上,将本地连接到数据库并以JSON格式返回信息。然后我需要更改我的C#应用程序以使用这些JSON。在c#中使用Json.NET将JSON从PHP显示到DataGridView
编码
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Windows.Forms;
namespace HTTTPRESPONSE
{
class User
{
[JsonProperty("userid")]
public string userid { get; set; }
[JsonProperty("password")]
public string password { get; set; }
[JsonProperty("first_anme")]
public string first_name { get; set; }
[JsonProperty("last_name")]
public string last_name { get; set; }
[JsonProperty("role")]
public string role { get; set; }
[JsonProperty("active")]
public string active { get; set; }
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
WebClient wc = new WebClient();
var data = wc.DownloadString("http://***.**.***.***/data.php");
List<User> users = JsonConvert.DeserializeObject<List<User>>(data);
dataGridView1.DataSource = users;
}
}
}
行中出错:
List<User> users = JsonConvert.DeserializeObject<List<User>>(data);
我的参考资料是:http://www.codeproject.com/Articles/609027/Displaying-JSON-from-PHP-into-a-DataGridView-using
答案 0 :(得分:2)
试试这个:
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = WebRequestMethods.Http.Get;
request.Accept = "application/json";
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader streamreader = new StreamReader(stream);
String json = streamreader.ReadToEnd();
List<User> users = JsonConvert.DeserializeObject<List<User>>(json);
dataGridView1.DataSource = users;