static void Main(string[] args)
{
JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));
JObject o = new JObject();
o["MyArray"] = array;
string json = o.ToString();
//{
// "MyArray": [
// "Manual text",
// "2000-05-23T00:00:00"
// ]
// }
string json2 = @"{
'MyArray': [
'Manual text',
'2000-05-23T00:00:00'
],
'name':'HelenZhou'
}";
JObject aa= JsonConvert.DeserializeObject<JObject>(json2);
var array2 = aa["MyArray"] as JArray;
var text = array2[0];
var date = array2[1];
Console.WriteLine(text);//Manual text
Console.WriteLine(date);//2000-05-23T00:00:00
var name = aa["name"];
Console.WriteLine(name);
Console.Read();
}
[HttpGet]
public JObject GetVehicleShuntingInformationList()
{
VehicleShuntingInformationCriteria criteria = new VehicleShuntingInformationCriteria();
var list = _IShuntGuideService.GetVehicleShuntingInformationList(criteria);
if (list == null)
{
return null;
}
JObject jo = new JObject();
jo.Add("total", list.Count);
JArray ja = JArray.FromObject(list);
jo.Add("rows", ja);
return jo;
}
这样转换:List<Person>【DataTable应该也是一样的】或者Person<-->JArray【可选的】<---->JObject<--->Json字符串。
看上去有点混乱,似乎拼凑的方法很多种。假设要转换Json字符串,可以先尝试一种,记住最后把对象.ToString(),看看输出的格式是不是你想要的格式,是就OK,不是就尝试其他拼凑格式。
反过来转换也是一样的,你想转换成什么对象,就转换成什么对象。
string json = @"{
'Name': 'Bad Boys',
'ReleaseDate': '1995-4-7T00:00:00',
'Genres': [
'Action',
'Comedy'
]
}";
Movie m = JsonConvert.DeserializeObject<Movie>(json);
string name = m.Name;
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };
string json = JsonConvert.SerializeObject(product);
// {
// "Name": "Apple",
// "Expiry": "2008-12-28T00:00:00",
// "Sizes": [
// "Small"
// ]
// }