c# - ASP.NET Core Json 对象的格式很奇怪,使用 \u0022
问题描述
我打算从 ASP.NET Core 控制器做一个 JSON 响应,但这并不像我想象的那么简单。
一个简单的字符串 {"ConfigValue":"192.168.1.125:1880"}
应该被序列化为一个 JsonObject 并且这个对象应该是 JSON 响应的一部分。
但是返回的 Json(str) 响应类似于
{\u0022ConfigValue\u0022:\u0022192.168.1.125:1880\u0022}
我不知道如何摆脱 \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); // "{\u0022ConfigValue\u0022:\u0022192.168.1.125:1880\u0022}"
}
}
解决方案
您将序列化为 JSON 两次 - 首先将字典序列化为字符串,然后将该字符串序列化为 JSON 值……这涉及转义引号。
你应该只序列化一次 - 你根本不需要调用JsonConvert.SerializeObject
:
return Json(dict);
推荐阅读
- django - 如何创建一个查询函数,为每个选定的列设置一个动态变量
- javascript - Javascript - 遍历选项数组并在对象的属性值与选项数组中的所有值匹配时返回一个对象?
- visual-studio-code - 找不到命令“extension.new-bloc”
- python - Python遍历灰度图像中的连接组件
- python-3.x - slack 临时消息中的提及不会触发移动通知
- python - 使用 Python 中的 xlsxwriter 模块将多行 SSH 命令输出写入单个 Excel 单元格
- regex - 如何简化 postgres regexp_replace
- c# - 重组分组列表
- regex - 正则表达式选择两个字符之间的所有
- jquery - Kendo ui 计算列与网格中的批量编辑