ASP.NETCoreJson对象的格式很奇怪,格式为u0022

c#

我打算从 ASP.NET Core 控制器做一个 JSON 响应,但它并不像我想象的那么简单。

一个简单的字符串 {"ConfigValue":"192.168.1.125:1880"}应该被序列化为一个 JsonObject 并且这个对象应该是 JSON 响应的一部分。

但是返回 Json(str) 响应类似于

{u0022ConfigValueu0022:u0022192.168.1.125:1880u0022}

我不知道如何摆脱 u0022

public class commonController : Microsoft.AspNetCore.Mvc.Controller
{
    private  IConfiguration config;

    public commonController(IConfiguration configuration)
    {
        config = configuration;
    }
    // GET
    [Route("getConfigEntry/{key?}")]
    public JsonResult getConfigEntry(string? key)
    {
        Dictionary<string, string> dict = new Dictionary<string, string>
        {
            {"ConfigValue", "192.168.1.125:1880"}
        };
        str = JsonConvert.SerializeObject(dict,Formatting.None); //from debugger variable viewer {"ConfigValue":"192.168.1.125:1880"}
        return Json(str); // "{u0022ConfigValueu0022:u0022192.168.1.125:1880u0022}"
    }
}

回答

您将两次序列化为 JSON - 首先将字典序列化为字符串,然后将该字符串序列化为 JSON 值......这涉及转义引号。

你应该只序列化一次 - 你根本不需要调用JsonConvert.SerializeObject

return Json(dict);


以上是ASP.NETCoreJson对象的格式很奇怪,格式为u0022的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>