В настоящее время я использую C# для создания / анализа файла JSON, а затем использую его для заполнения шаблона усов.
Я установил Nustache в VB, используя пакет NuGet для Nustache.
Мой файл JSON выглядит так:
{
"LinkName": "test",
"TESTBOOL": true,
"NodeProfileENUM": "TEST",
"Requester": false,
"Responder": false,
"Nodes": {
"Root": {
"nodeName": "Root",
"displayName": null,
"type": null,
"initialValue": null,
"serializable": null,
"className": null,
"enumName": null,
"isLast": true,
"actionList": {}
}
},
"LinkActions": {}
}
И в своем шаблоне я пробовал использовать такие теги, как:
{{#TESTBOOl}} test {{/TESTBOOL}}
но я продолжаю получать сообщение об ошибке, что блок не зарегистрирован,
Я также пробовал повторять через раздел узлов:
{{#each Nodes}}
{{#each this}}
{{this.nodeName}}
{{/each}}
{{/each}}
но это тоже не работает.
Я разбираю и визуализирую json и шаблон (C#) следующим образом:
string nodeProfileFormat = File.ReadAllText("NodeProfileTemplate2.txt");
JObject parsedLinkTest =
JObject.Parse(File.ReadAllText("LinkDefinitionTest.json"));
string nodeProfileResultTest =
Nustache.Core.Render.StringToString(nodeProfileFormat, parsedLinkTest);
File.WriteAllText("NodeProfileTemplateResult.java", nodeProfileResultTest);
Я что-то забываю сделать?





Чтобы протестировать свои шаблоны, используйте демонстрация усов. Ваш шаблон TESTBOOL работает, если вы исправите опечатку:
{{#TESTBOOL}} test {{/TESTBOOL}}
Если вы хотите отобразить nodeName, вам необходимо сделать:
{{Nodes.Root.nodeName}}
Ваш json содержит только объект. Ваши узлы - это не массив. Возможно, вы хотите перебрать свойства.
Что касается вашего C#, вы можете использовать метод Nustache FileToFile:
var parsedLinkTest = JObject.Parse(File.ReadAllText("LinkDefinitionTest.json"));
Nustache.Core.Render.FileToFile("NodeProfileTemplate2.txt", parsedLinkTest, "NodeProfileTemplateResult.java");
Если это не удалось, проверьте с помощью отладчика, хорошо ли заполнен parsedLinkTest.