提取部分JSON内容(属性)并转换为c#对象?
如何获取部分json内容并转换为c#对象。API返回到JSON内容下面。从中我需要得到“ContentItems”部分并转换为C#object。我已经创建了“ContentItems”类 我使用的是提取部分JSON内容(属性)并转换为c#对象?,c#,asp.net,json,json.net,C#,Asp.net,Json,Json.net,如何获取部分json内容并转换为c#对象。API返回到JSON内容下面。从中我需要得到“ContentItems”部分并转换为C#object。我已经创建了“ContentItems”类 我使用的是Newtonsoft.Json。这是很难做到的一部分 { "SubmissionId": 69, "SubmissionKey": "a1c78c25-b885-4ec0-8032-040fca6b447e", "CreatedUserId": 4, "Resource
Newtonsoft.Json
。这是很难做到的一部分
{
"SubmissionId": 69,
"SubmissionKey": "a1c78c25-b885-4ec0-8032-040fca6b447e",
"CreatedUserId": 4,
"ResourceType": "Article",
"Files": [
{
"SubmissionFileId": 149,
"FileName": "ARMA-81-0475.xml",
"ContentItems": [
{
"ContentItemId": 132,
"ContentKey": "8f8b2f74-ba29-4b7d-a44f-8d119dc2aab7",
"SubmissionFile": null,
}
]
}
]
}
ContentItems.cs
public class ContentItems
{
public int ContentItemId { get; set; }
public string ContentKey { get; set; }
public string SubmissionFile { get; set; }
}
试试这个:
dynamic obj = JsonConvert.DeserializeObject(jsonContent);
var item = obj.Files[0].ContentItems[0].ToObject<ContentItems>();
dynamic obj=JsonConvert.DeserializeObject(jsonContent);
var item=obj.Files[0].ContentItems[0].ToObject();
以下是如何使用JSONPath从JSON中提取ContentItems
var recs = JObject.Parse("*** JSON Text ***").SelectTokens("$..Files[*].ContentItems[*]")
.Select(j => JsonConvert.DeserializeObject<ContentItems>(j.ToString()));
foreach (var rec in recs)
Console.WriteLine(rec.ContentItemId);
var recs=JObject.Parse(“***JSON Text***”).SelectTokens(“$…Files[*].ContentItems[*]”)
.Select(j=>JsonConvert.DeserializeObject(j.ToString());
foreach(记录中的var记录)
Console.WriteLine(rec.ContentItemId);
这是否回答了您的问题?