【发布时间】:2018-11-12 14:00:58
【问题描述】:
我正在格式化一个字符串:
string.Format(
"{{\"EventType\":\"{0}\",\"OrganizationId\":\"{1}\",\"Timestamp\":{2},\"ExecutionTime\":{3},\"Success\":{4}}}",
telemetryEvent.EventType ?? "null", telemetryEvent.OrganizationId ?? "null", telemetryEvent.Timestamp,
telemetryEvent.ExecutionTime, telemetryEvent.Success);
如果它为 null,我需要获取 null 而不是字符串。
例如""组织 ID":null" 但我得到的是 ""OrganizationId":"null""
谢谢
【问题讨论】:
-
似乎您正在尝试创建
telemetryEvent实例的 JSON 表示。为什么不使用Json.Net呢? -
@ZoharPeled 不能使用任何库,不允许(
-
将引号移动到参数,而不是格式字符串?这不是最佳的,但它会工作
-
“不能使用任何库”是什么意思? Json 序列化内置于 .NET 中。诚然,它不如 Json.net,但它可能足以满足您的需求。您是否考虑过使用它?
-
如果您不能使用第三方库,您可以在
System.Runtime.Serialization.Json中尝试DataContractJsonSerializer。不确定您使用的框架是否带有此内置功能。
标签: c# .net string string-formatting interpolation