c# - 如何创建属性包含点(句点)的 json 字符串?

标签 c# json.net

我正在尝试发送一个采用 JSON 对象的 HttpRequest:

{
   "some.setting.withperiods":"myvalue"
}

我一直在为我的其他请求创建匿名对象,但我不能用这个,因为名称中包含一个点。

我知道我可以创建一个类并指定 [DataMember(Name="some.setting.withperiods")] 属性,但必须有一个更轻量级的解决方案。

最佳答案

没有“简单”的方法来实现这一点,因为 C# 中的 . 是保留的。

但是,您可以通过使用字典和集合初始值设定项来实现非常接近的效果。它仍然有些孤立,不需要您创建自定义类。

var obj = new Dictionary<string, object>
{
    { "some.setting.withperiods", "myvalue" }
};

var json = JsonConvert.SerializeObject(obj);
//{"some.setting.withperiods":"myvalue"}

关于c# - 如何创建属性包含点(句点)的 json 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23121025/

相关文章:

c# - 如何在企业架构师中使用 C# 创建状态机图?

c# - 通过 MethodInfo 调用方法

c# - 在 ASP.NET 的外部 C# 类中使用 Server.MapPath

c# - 是否可以使用 Json.NET 将 DateTimeOffset 序列化为祖鲁时间字符串?

c# - 将对象序列化为数组

c# - 炮塔射击

c# - Entity Framework 代码首先,外键/对象不应保存

c# - 从字符串中创建 JSON

c# - 验证包含字典的 JSON 对象

asp.net-mvc - 从 ASP.NET Web API 返回一些字段