使用json.net将JSON字符串转换为简单对象

时间:2014-03-10 13:06:06

标签: json json.net gson

我在我的客户端上使用GSON来标记一个对象:

Gson gson = new Gson();
String data = gson.toJson(deviceInfo);

现在我在http请求的标头中收到了这个。我现在需要在我的服务器上将其转换回对象。我不是把它解析为一个参数,所以模型绑定器不会只为我做。如果有一种方法可以手动使用来建模活页夹。也许这也是一个选择。

我如何用json.net做到这一点?

基本上我想要相当于:gson.fromJson(json, classOfT)

1 个答案:

答案 0 :(得分:1)

json.net中等效的gson.fromJson(json, classOfT)

JsonConvert.DeserializeObject<T>()

示例:

public class Account
{
   public string Email { get; set; }
   public bool Active { get; set; }
   public DateTime CreatedDate { get; set; }
   public IList<string> Roles { get; set; }
}

string json = @"{
  'Email': 'james@example.com',
  'Active': true,
 'CreatedDate': '2013-01-20T00:00:00Z',
  'Roles': [
    'User',
     'Admin'
   ]
 }";

Account account = JsonConvert.DeserializeObject<Account>(json);

Console.WriteLine(account.Email);