首页 > 解决方案 > 如何将 JSON 反序列化为 .net 对象

问题描述

大家好,我是JSON 反序列化的新手。这是必须反序列化为 .net 对象的 JSON 数据,以便我可以将 JSON 中的这些值存储在数据库中。

这是我的代码:

var client = newRestClient("https:xxxxxxxxxxxxxxxxxx/pincodes/");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"username\"\r\n\r\xxxxxxxxxxxxxxxx\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"password\"\r\n\r\xxxxxxxxxxxxxxxx\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
string JsonContent = response.Content;

这是json文件的样子:

[{"city": "AMBALA", "state": "Haryana", "city_type": "", "active": true, "route": "HR/I1H/ABA", "date_of_discontinuance": "", "state_code": "HR", "pincode": 134003, "city_code": "ABA", "dccode": "ABA"}, 

{"city": "AMBALA", "state": "Haryana", "city_type": "", "active": true, "route": "HR/I1H/ABA", "date_of_discontinuance": "", "state_code": "HR", "pincode": 134002, "city_code": "ABA", "dccode": "ABA"}]

我想访问特定的值 ex。等的值city, pincodes。如何创建模型,我试过但得到一些错误:“错误 CS0825 上下文关键字 'var' 可能只出现在局部变量声明或脚本代码中”

标签: c#jsonjson-deserialization

解决方案


最好的方法是使用Json.NET

string json = @"{
  'Name': 'Bad Boys',
  'ReleaseDate': '1995-4-7T00:00:00',
  'Genres': [
    'Action',
    'Comedy'
  ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name; // Bad Boys

推荐阅读