Dotliquid получить значение поля из объекта в словаре - PullRequest
0 голосов
/ 27 января 2020

У меня есть словарь в json:

"{\"AAA\":2,\"ADict\":{\"1\": 
 {\"Nom\":\"A\",\"Gen\":\"B\",\"Dat\":\"C\",\"Acc\":\"D\",\"Ins\":\"E\",\"Pre\":\"F\"},\"2\": 
 {\"Nom\":\"A\",\"Gen\":\"B\",\"Dat\":\"C\",\"Acc\":\"D\",\"Ins\":\"E\",\"Pre\":\"F\"}} }"

Мне нужно получить значение из поля объекта. Я написал такой код:

Template.NamingConvention = new CSharpNamingConvention();
var b = JsonConvert.DeserializeObject<IDictionary<string, object>>(message, new DictionaryConverter());
var d = Template.Parse(template2).Render(Hash.FromDictionary(b));

Я пробовал такие шаблоны:

var template = "{%capture atype%} {{AAA}} {%endcapture%} Is \"{{ADict[atype].Ins}}\"";
var template2 = "{%capture atype%} {{AAA}} {%endcapture%} Is {% for item in ADict %} {% if item == atype %} \"{{ item.Nom }}\" {% endif %} {% endfor %}";

Но все попытки не увенчались успехом. Но когда я изменил первый шаблон на {{ADict ["1"]. Ins}} - это работает. Как решить проблему, используя шаблон или json данные?

...