如何将返回的JSON值转换为我的控制台应用程序中的变量?我从休息api调用中获得了多个公司(750+)的JSON响应,并将其写入控制台应用程序,如下所示:
"companies": [
{
"guid": "81eb95d6-d89e-4e93-aad0-eff89a450fcf",
"name": "Example Company 1",
"rating": 770,
"rating_date": "2018-05-27"
},
{
"guid": "81eb95d6-d89e-4e93-aad0-eff89a450fcf",
"name": "Example Company 2",
"rating": 810,
"rating_date": "2018-05-27"
},
{
"guid": "81eb95d6-d89e-4e93-aad0-eff89a450fcf",
"name": "Example Company 3",
"rating": 760,
"rating_date": "2018-05-27"
},`
使用SharePoint客户端然后我希望将这些公司值作为项目上传到共享点列表中。
{
ClientContext context = new ClientContext("http://exampleSharepoint/List");
List companiesList = context.Web.Lists.GetByTitle("Companies");
ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
ListItem newItem = companiesList.AddItem(itemCreateInfo);
newItem["Title"] = CompanyTitle;
newItem["guid"] = Guid;
newItem["Rating"] = Rating;
newItem["Rating Date"] = RatingDate;
newItem.Update();
context.ExecuteQuery();
}
我已经看过json反序列化器,但很难将它应用到我的上下文中。非常感谢任何帮助。
答案 0 :(得分:1)
如果我理解正确,你想将json转换为一个对象,然后你可以在代码中明确地使用它吗?
您需要先获取Newtonsoft.Json nuget包。
您可以使用JsonConvert.DeserializeObject()方法将json字符串反序列化为c#对象。
您需要的只是与json匹配的相应c#对象。在你的情况下,你需要像:
public class Company
{
[JsonProperty(PropertyName = "guid")]
public Guid Id { get; set; }
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
[JsonProperty(PropertyName = "rating")]
public int Rating { get; set; }
[JsonProperty(PropertyName = "rating_date")]
public DateTime Rating_date { get; set; }
}
您可以直接从Json反序列化到此对象的列表:
List<Company> companies = JsonConvert.DeserializeObject<List<Company>>(JsonString);