Json.net正在读取序列化数组

本文关键字:序列化 数组 读取 net Json | 更新日期: 2023-09-27 18:28:43

我正在尝试从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; }
}

但是我不知道如何使用这个代码。

Json.net正在读取序列化数组

您正试图将LocalhostTiming的数组反序列化为它的一个实例。您需要将对象反序列化为数组。

List<LocalhostTiming> jsonResponse = JsonConvert.DeserializeObject<List<LocalhostTiming>>(htmlCode);