如何将原始数据列表转换为Json列表?

时间:2019-03-26 12:28:03

标签: c# json

我有以下课程:

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。

请问我如何实现这一目标,并在此先感谢。

1 个答案:

答案 0 :(得分:0)

已编辑

您的项目类型是什么?是C#MVC吗?

首先,您需要使用Nuget安装NewtonSoft库,然后在您的控制器上实例化它。

Newtonsoft

using Newtonsoft.Json;

现在,您只需使用序列化即可将列表“转换”为JsonList。

var list = JsonConvert.SerializeObject<List<string>>(YorRawList).ToList();