【发布时间】:2020-09-14 12:22:52
【问题描述】:
我反序列化一个如下所示的 JSON:
{
"id": "FF478946-8536-4295-AC58-F6C3D2B4E5CC",
"title": "This is a Title with an escaped variable: {VariableName}",
"weight": 50
}
使用 Newtonsoft 到相应的对象:
public class Event
{
public string Id { get; set; }
public string Title { get; set; }
public int Weight { get; set; }
}
然后我想打印字符串 Title,它引用代码中的本地字符串属性。 VariableName
private string VariableName { get; set; }
private Event CurrentEvent { get; set; }
public void OnNextEventClicked()
{
Log(CurrentEvent.Title);
}
我试图用不同的方法来转义变量,如反斜杠 ("title": "This is a Title with an escaped variable: \"VariableName\"") 或上面代码中的大括号,但我失败了... C# 总是将转义的变量视为标题的正常部分 字符串。
最好的方法是什么?谢谢!
【问题讨论】:
-
为什么不将
variableName作为参数添加到您的 JSON 中? -
因为还有很多反序列化的
Event实例根本不需要引用本地属性。其他需要引用完全不同的本地属性。 (所以想象一下,你不仅有VariableName,还有VariableName1、VariableName2等等。)所以为可能的组合编写自己的类变得太大了…… -
然后,使用您重复的问题的答案:stackoverflow.com/questions/39874172/…
-
是的,这就是工作!谢谢!