首页 > 解决方案 > JSON 字符串到实际 JSON

问题描述

使用 .Net core 2.2,我正在构建一个 API,它从我的存储过程(使用FOR JSON PATH)返回 JSON 数据,我返回一个如下所示的值:

[{"ID":213,"SizeCode":"Small"},{"ID":257,"SizeCode":"S/M"},{"ID":214,"SizeCode":"Medium",},{"ID":215,"SizeCode":"Large"}]

所以当我将它映射到我的对象以从 API 返回时

public class Details
{
    public string SizeChart { get; set; }
}

,它返回这个:

"[{'ID':213,'SizeCode':'Small'},{'ID':257,'SizeCode':'S/M'},{'ID':214,'SizeCode':'Medium',},{'ID':215,'SizeCode':'Large'}]"

我不希望它周围有双引号,所以我认为实际属性不应该是字符串。是否有更好的数据类型可以使用或没有双引号的返回方式?

标签: json.net-core

解决方案


您需要解析stringJSON对象(实际上在您的情况下 - JArray因为它是一个数组)并从您的返回它API

JArray a = JArray.Parse(jsonString);

所以它可能看起来像

public class Details
{
    public string SizeChart { get; set; }

    public JArray SizeChartJArray { 
        get { 
            return JObject.Parse(SizeChart);
        }
    }
}

推荐阅读