我发现在MVC3 ASP.NET中将传入的JSON请求主体以参数的形式映射到一个简单的指定对象真的很方便...
有没有办法在特定用例之外使用此功能?
更进一步,在标准.NET编程中,使用json字符串并将其映射(绑定)到真实对象...(不是字典)?
答案 0 :(得分:11)
当然,您可以使用JSON序列化程序,例如ASP.NET MVC使用的JavaScriptSerializer类或Json.NET等第三方库。例如:
using System;
using System.Web.Script.Serialization;
public class Customer
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
var serializer = new JavaScriptSerializer();
var json = "{name: 'John', age: 15}";
var customer = serializer.Deserialize<Customer>(json);
Console.WriteLine("name: {0}, age: {1}", customer.Name, customer.Age);
}
}
或者如果您愿意,可以使用Json.NET:
using System;
using Newtonsoft.Json;
public class Customer
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
var json = "{name: 'John', age: 15}";
var customer = JsonConvert.DeserializeObject<Customer>(json);
Console.WriteLine("name: {0}, age: {1}", customer.Name, customer.Age);
}
}