110,536
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization.Json;
using System.Reflection;
using System.IO;
namespace test
{
/// <summary>
/// JSONHelper类
/// </summary>
public class JSONHelper
{
/// <summary>
/// 把对象序列化 JSON 字符串
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="obj">对象实体</param>
/// <returns>JSON字符串</returns>
public static string GetJson<T>(T obj)
{
//记住 添加引用 System.ServiceModel.Web
/**
* 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦
* */
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
{
json.WriteObject(ms, obj);
string szJson = Encoding.UTF8.GetString(ms.ToArray());
return szJson;
}
}
/// <summary>
/// 把JSON字符串还原为对象
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="szJson">JSON字符串</param>
/// <returns>对象实体</returns>
public static T ParseFormJson<T>(string szJson)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));
return (T)dcj.ReadObject(ms);
}
}
}
}
RootObject object = JsonConvert.DeserializeObject<RootObject>(Json字符串);
public class FlightCountList
{
public string count { get; set; }
public string dayOfWeek { get; set; }
public string flightDate { get; set; }
public bool isSel { get; set; }
public string monthDay { get; set; }
}
public class FlightList
{
public string arriveProvinceName { get; set; }
public string arriveRegionName { get; set; }
public object arriveStationName { get; set; }
public string flightDate { get; set; }
public string flightOnlineDetailId { get; set; }
public string flightTime { get; set; }
public int lastCount { get; set; }
public string onlineStatus { get; set; }
public int price { get; set; }
public string stationAddress { get; set; }
public string stationName { get; set; }
}
public class RootObject
{
public object closeDateTip { get; set; }
public List<FlightCountList> flightCountList { get; set; }
public List<FlightList> flightList { get; set; }
public string isClose { get; set; }
public bool isFlightCountDemo { get; set; }
}
然后可以用Newtonsoft.Json 解析就好了
RootObject object = JsonConvert.SerializeObject<RootObject>(Json字符串);