TaskProperty.InternalAppConfiguration定义了一个包含各种信息的JSON,我需要从这个JSON获取所有的userGroups。我只需要userGroups的名字。
// saving task properties
foreach (var TaskProperty in representation.TaskProperties != null ? representation.TaskProperties : new List<TaskProperty>())
{
await this.taskRepository.AddTaskPropertyAsync(new TaskProperty()
{
ConnectionId = TaskProperty.ConnectionId,
NodeId = result.VertexIdPairs[Convert.ToInt16(TaskProperty.NodeId)],
TaskId = TaskProperty.TaskId,
InternalAppConfiguration = TaskProperty.InternalAppConfiguration,
IsApprovalTask = TaskProperty.IsApprovalTask
});
};我的JSON是这样的,

在JSON可视化器中,如下所示

我如何将所有的userGroups存储到一个数组或一个列表中,或者将来我可以使用的东西中?我尝试过使用Newtonsoft反序列化,但是我什么也做不了。请帮帮我..。我真的很感激你的回答和建议。谢谢!
发布于 2020-06-03 05:47:36
使用Newtonsoft,我会这样做:
public static IEnumerable<string> GetNamesFromJson(string json)
{
InternalAppConfiguration jsonObject = JsonConvert.DeserializeObject<InternalAppConfiguration>(json);
return jsonObject.OptionsData.UserGroups.Select(ug => ug.DisplayName);
}
public class InternalAppConfiguration
{
public OptionsData OptionsData { get; set; }
}
public class OptionsData
{
public List<UserGroup> UserGroups { get; set; }
}
public class UserGroup
{
public string DisplayName { get; set; }
}https://stackoverflow.com/questions/62165971
复制相似问题