gpt4 book ai didi

c# - Newtonsoft.Json 用下划线替换空格 C# to JSON Serialize

转载 作者:行者123 更新时间:2023-11-30 20:28:24 25 4
gpt4 key购买 nike

<分区>

初始问题:

这里我有一个函数,用于将 Entity Framework 对象转换为 JSON:

public class JSON
{
public static string ConvertEntityToJSON(object dataToSerialize)
{
return JsonConvert.SerializeObject(dataToSerialize,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
}
}

调试时,“dataToSerialize”如下所示:

SELECT 
[xxx].[Firstattributefromdatabase] AS [First attribute from database],
[xxx].[Secondattributefromdatabase] AS [Second attribute from database]
FROM [xxx]

可见,SQL 的属性名称中的单词之间有空格,而不是下划线,但输出(表中的一行)如下所示:

[{"First_attribute_from_database":"xxx","Second_attribute_from_database":"xxx"}]

关于可能导致此问题的原因的任何线索以及如何解决这个问题?我将此 JSON 数据加载到数据透视表中,这导致所有字段都具有下划线而不是单词之间的空格。


更新 1:

好的,在查看了使用 Entity Framework (来自数据库的 EF 设计器;数据库优先方法)从数据库生成的内容之后,生成的类如下:

public partial class TestClass
{
public string First_attribute_from_database { get; set; }
public string Second_attribute_from_database { get; set; }
}

即使在 MS SQL Server Management Studio 中明确定义这是一个 VIEW(不是表本身)并且 SQL 的格式如下:

SELECT 
[xxx].[Firstattributefromdatabase] AS [First attribute from database],
[xxx].[Secondattributefromdatabase] AS [Second attribute from database]
FROM [xxx]

那么问题来了:如何解决下划线问题,因为 C# 属性的名称中不能有空格?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com