各种类型json解析

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;

namespace AnalysisJson
{
class Program
{
static void Main(string[] args)
{
//第一种形式:status中是{}形式,对象
string json = @"{'name':'Tom','province':'32','city':'1','location':'江苏 南京','status':{'created_at':'Thu Feb 26 21:04:34 +0800 2015','text':'哈哈'}}";
JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
JsonData jd = jsSerializer.Deserialize<JsonData>(json);
Console.WriteLine(string.Format("name={0};province={1};city={2};location={3};status={4};",
jd.name, jd.province, jd.city, jd.location, jd.status.created_at + jd.status.text));
//键值对集合(Dictionary):
json = @"{'name':'Tom','province':'32','city':'1','location':'江苏 南京'}";
var a = jsSerializer.Deserialize<Dictionary<string, string>>(json);
//数组
json = @"['1','2','3']";
var b = jsSerializer.Deserialize<List<string>>(json);

//第二种形式:status中是[] 形式,数组
json = @"{'name':'Tom','province':'32','city':'1','location':'江苏 南京','status':[{'created_at':'Thu Feb 26 21:04:34 +0800 2015','text':'哈哈'},{'created_at':'Thu Feb 26 21:04:34 +0800 2015','text':'哈哈'}]}";
jsSerializer = new JavaScriptSerializer();
JsonData2 jd2 = jsSerializer.Deserialize<JsonData2>(json);
Console.WriteLine(string.Format("name={0};province={1};city={2};location={3};status={4};"
, jd2.name, jd2.province, jd2.city, jd2.location, jd2.status[0].created_at + jd2.status[0].text));
}

public struct Status
{
public string created_at { get; set; }
public string text { get; set; }
}

public struct JsonData
{
public string name { get; set; }
public string province { get; set; }
public string city { get; set; }
public string location { get; set; }
public Status status;
}

public struct JsonData2
{
public string name { get; set; }
public string province { get; set; }
public string city { get; set; }
public string location { get; set; }
public List<Status> status;
}

public class DepatData
{
public int depart_id = 0;
public string depart_name = "";
public string depart_source = "";
public StaffData staff = new StaffData();

public class StaffData
{
public string name = "";
public string title = "";
public string image = "";
public string id = "";
}
}
}
}

posted @ 2024-03-03 11:47  W(王甜甜)  阅读(1)  评论(0编辑  收藏  举报