我有以下课程:
public class Solution
{
public string Id { get; set; }
public string ProjectName { get; set; }
public string CodeName { get; set; }
public string Description { get; set; }
public string Author { get; set; }
public string Createdate { get; set; }
public string LastEditedBy { get; set; }
public string Status { get; set; }
public string GoLive { get; set; }
public virtual List<State> States { get; set; }
}
public class State
{
public Solution Solution { get; set; }
public string SolutionId { get; set; }
public string StateId { get; set; }
public string StateValue { get; set; }
}
其中StateValue是原始json字符串。
当我想反序列化时,我得到一个带有\ r \ n的json字符串。
请告诉json序列化程序不要转义该字符串并将其视为json,因为它已经是json。
我想要这样的输出:
[
{
"id": "43c7f6d5-61dc-4c1c-8c76-e13878b7483f",
"projectName": "Test Request 2",
"codeName": "",
"description": "",
"author": "",
"createdate": "02/13/2019",
"lastEditedBy": "",
"status": "Pending",
"goLive": "02/13/2019",
"states": [
{
"id": "cd7363f8-752b-4eb2-aaa2-ef94d7685153",
"label": "Empty State",
"layerone": [
{
"StorageCloudPhysical_Custom3": "cc1",
"StorageCloudPhysical_WorkSpace": "ws for asset 2"
},
{
"StorageCloudPhysical_Custom3": "cc3",
"StorageCloudPhysical_WorkSpace": "ws for asset 4"
}
}
]
}
]
json模式中的状态是操作Solution.States.Select(s => s.StateValue)的值,类似于List。
请问我如何实现这一目标,并在此先感谢。
答案 0 :(得分:0)
已编辑
:您的项目类型是什么?是C#MVC吗?
首先,您需要使用Nuget安装NewtonSoft库,然后在您的控制器上实例化它。
using Newtonsoft.Json;
现在,您只需使用序列化即可将列表“转换”为JsonList。
var list = JsonConvert.SerializeObject<List<string>>(YorRawList).ToList();