我使用的是Asp MVC 3应用程序。
我有一个枚举:
public enum EmployeesOptions
{
John = 1,
Peter = 2,
Andrew = 3
}
和一个MyViewModel类
public class MyViewModel
{
public MyViewModel()
{
Employees = new List<EmployeesOptions>()
{
我有一个c#类,我正在尝试使用Newtonsoft.Json来正确地序列化它。该属性是一个枚举类型,我希望将该值序列化为“枚举名称的小写版本”。有一个JsonConverterAttribute可以用来在属性上指定这一点,还有一个预写的StringEnumConverter,但是我需要在那个转换器上指定CamelCaseNamingStrategy,但是我不能确定语法。 我尝试将其赋值给属性本身: public class C
{
[JsonConverter(typeof(StringEnumConverter),NamingStrategy=typeof(CamelCaseNam
我最近升级到了最新的Newtonsoft.Json版本12.0.2。我之前运行的是一个旧版本(11.0.2),中间的某个地方,StringEnumConverter.CamelCaseText属性被弃用了。
因此,根据和"StringEnumConverter.CamelCaseText is obsolete. Set StringEnumConverter.NamingStrategy with CamelCaseNamingStrategy instead.",我在CamelCaseText == true的场景中进行了以下更改
// Deprecated approac
我有一个ASP.NET核心项目,我正在使用React。
C#实体:
public class Waybill: IEntity
{
public int Id { get; set; }
public WayBillType WayBillType { get; set; }
}
public enum WayBillType
{
Moving = 1,
Incoming = 2,
Disposal = 3
}
和typescript实体:
export class Waybill
{
id: number;
way
我遇到这样的情况:我从两个不同的web服务收到响应。这两个响应在结构上相同,但具有不同的父命名空间。我正在尝试做的是将这些响应转换为一个标准类,然后我可以将其传递给父对象。我认为最简单的方法是将传入的对象序列化为Json,然后将该对象反序列化为我的标准对象。这使我的处理代码变得相当简单
var jsonString = JsonConvert.SerializeObject(serviceResponse.Results);
var commonObject = JsonConvert.DeserializeObject<StandardResult>(jsonString);
在
序列化对象时,我应该更改什么设置才能获得枚举的属性值而不是其字符串表示形式?我有下面的课程。
public class ProductModel
{
public long ProductId { get; set; }
public int ContainerType { get; set; }
public SolidForm SolidForm { get; set; }
}
(例如)现在-> my json =
{ "ProductId" : 22222,
"ContainerType" : 1111,
"
是否有一种方法来配置Azure函数如何为返回值将对象序列化为JSON?我想使用字符串而不是ints来表示枚举值。
例如,给定以下代码:-
public enum Sauce
{
None,
Hot
}
public class Dish
{
[JsonConverter(typeof(StringEnumConverter))]
public Sauce Sauce;
}
public static class MyFunction
{
[FunctionName("MakeDinner")]
public static as
我试图使用Newtonsoft的JsonConvert将对象列表序列化为JSON。我的标记类包含一个枚举,我正在尝试将它序列化为一个camelCase字符串。基于其他堆栈溢出问题,我尝试使用StringEnumConverter
public enum MarkerType
{
None = 0,
Bookmark = 1,
Highlight = 2
}
public class Marker
{
[JsonConverter(typeof(StringEnumConverter)]
public MarkerType MarkerType { ge
我有以下WEB API的C#代码,当我在下面的JSON中发布时,Account对象始终为空。请,任何人都可以指导以下代码。
public class Account
{
public string id { get; set; }
public string number { get; set; }
}
public object Post([FromBody] Account account)
{
Message msg = new Message();
msg.status = "Status";
return Request.Cr
我想在我的Elasticsearch索引中以字符串的形式存储我的所有枚举。由于我所使用的模型需要独立于任何特定的技术,所以我不能使用。
我知道在创建SerializerFactory时可以传递ConnectionSettings,但是我不知道什么选项会改变枚举的序列化。
下面是我用来连接NEST的代码:
var serializers = new SerializerFactory(<what to put here?>);
var settings = new ConnectionSettings(myUri, serializers)
.DefaultIndex(myI
我有一个NodeJS服务器和一个C#统一客户端。NodeJS服务器向C#客户端发送一个对象。
服务器
var obj = new Object();
obj.name = data.name;
obj.position = data.position;
var jsonString= JSON.stringify(obj);
C#客户端
try
{
Debug.Log(response.ToString()); // WORKS the result
因此,我正在使用C#开发一个应用程序接口包装器,我使用Newtonsoft.Json库将JSON数据反序列化为响应模型类。在响应模型类中,我有一个子项列表,每个子项都包含一个子项列表。它们的定义如下:
public List<StatModel> Stats { get; set; }
每个StatModel都有一个与名称基本相同的属性:
public Stat Stat { get; set; }
这些是自动反序列化的,因为每个Stat都定义在一个枚举中,如下所示:
[EnumMember(Value = "Avg Walk Distance")]
Average
在自定义类中,我有一个泛型字典,它对值类型具有枚举类型。请注意,枚举类型是我无法控制的(第三方大会的一部分)。
当我使用Newtonsoft序列化这样的objet时,枚举被写成整数。
如何将枚举序列化为字符串?
我尝试过在属性上使用StringEnumConverter,但它只适用于属性本身,而不是当使用泛型时。由于枚举是在外部程序集中声明的,所以我不能直接在枚举上应用StringEnumConverter。
下面是一个复制示例:
输出:
{"ExtendedData":{"First":0,"Second":1}}
码
using Sy