我正在尝试从网上读取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; }
}
但我不知道如何处理这段代码。
答案 0 :(得分:2)
您正在尝试将一个LocalhostTiming数组反序列化为一个实例。 您需要将对象反序列化为数组。
List<LocalhostTiming> jsonResponse = JsonConvert.DeserializeObject<List<LocalhostTiming>>(htmlCode);