我正在尝试从web读取JSON数据,并且我正在使用JSON.net库执行此任务,问题是如果只有一个JSON对象
{"id":"2340","time":"2014-10-29 16:26:49"}
一切都很好,但如果有一组
[{"id":"2340","time":"2014-10-29 16:26:49"}, {"id":"2341","time":"2014-10-29 16:27:21"}]
程序不起作用。
using System;
using System.Net;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Collections.Specialized;
using System.Text;
using System.Windows.Forms;
using Newtonsoft.Json;
namespace Localhostnet
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
using (WebClient client = new WebClient())
{
string htmlCode = client.DownloadString('http://localhost/json.php');
LocalhostTiming jsonResponse = JsonConvert.DeserializeObject<LocalhostTiming>(htmlCode);
string timeId = jsonResponse.id;
MessageBox.Show(timeId);
}
}
}
public class LocalhostTiming
{
public string id { get; set; }
public string time { get; set; }
}
}
我已尝试添加
public class DataContainer
{
public List<LocalhostTiming> LocalhostTiming{ get; set; }
}
但是我不知道如何使用这个代码。
您正试图将LocalhostTiming的数组反序列化为它的一个实例。您需要将对象反序列化为数组。
List<LocalhostTiming> jsonResponse = JsonConvert.DeserializeObject<List<LocalhostTiming>>(htmlCode);