Как использовать умножение двух путей к объектам json в javascript в microsoft.clearscript.v8C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать умножение двух путей к объектам json в javascript в microsoft.clearscript.v8

Сообщение Anonymous »


Я использую microsoft.clearscript.v8 в ядре asp.net mvc, по пути inputpath :{{(}}&Account.Order..Product..Quantity&{{}}&Account.Order..Product..Price&{{)} } не работает регулярное выражение, я хочу удалить регулярное выражение {{[^{}]+}}, и два пути получаются и умножаются друг на друга и печатаются в Путь вывода: Account.Order1..Product.*.Общий путь, это мой код homecontroller.cs.

var extraJsons = @" { ""Счет"": { ""AccountName"": ""Firefly"", ""Заказ"": [ { ""OrderID"": ""order103"", ""Продукт"": [ { ""ProductName"": ""Котел"", ""ProductID"": 858383, «Цена»: 34, «Количество»: 2 }, { ""ProductName"": ""Шляпа Трилби"", ""ProductID"": 858236, ""SKU"": ""0406634348"", «Цена»: 21, «Количество»: 1 } ] }, { ""OrderID"": ""order104"", ""Продукт"": [ { ""ProductName"": ""Котел"", ""ProductID"": 858383, ""SKU"": ""040657863"", «Цена»: 34, «Количество»: 4 }, { ""ProductID"": 345664, ""SKU"": ""0406654603"", ""ProductName"": ""Плащ"", «Цена»: 107, «Количество»: 1 } ] } ] } }"; используя (var engine = новый V8ScriptEngine()) { // Загружаем дополнительные данные и правила JSON в обработчик скриптов engine.Execute($"var extraJson = {additionalJsons};"); engine.Execute("var Final = [];"); engine.Execute(@" правило класса { конструктор (inputPath, выходной путь, тип, значение) { this.inputPath = inputPath; this.outputPath = выходной путь; this.type = тип; это.значение = значение; } } // Создаем список правил с информацией о типе и целевыми путями вар правила = [ новое правило('Account.Order.*.Product.*.ProductName', 'Account.Order1.*.Product.*.ProductN', 'ChangeFieldName'), новое правило('Account.Order.*.Product.*.ProductID', 'Account.Order1.*.Product.*.NewProductID', 'ChangeFieldName'), новое правило('Account.Order.0.Product.0.Price', 'Account.Order1.0.Product.0.Price', 'ChangeValueName', 50), // Добавьте сюда новое правило ]; // Функция для применения правил для изменения имен полей для данного объекта функция applyRules (targetObj, правила) { вар модифицированные данные = {}; Rules.forEach(правило => { вар inputPaths = getMatchingPaths(rule.inputPath); вар outputPaths = getMatchingPaths(rule.outputPath); if (inputPaths.length === outputPaths.length) { for (var я = 0; я
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему умножение матриц с помощью MathNet.Numerics выполняется медленнее, чем обычное умножение?
    Anonymous » » в форуме C#
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • Почему умножение матриц с помощью MathNet.Numerics выполняется медленнее, чем обычное умножение?
    Anonymous » » в форуме C#
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • Сохраняет ли Clearscript ScriptEngine код для последующих вызовов Execute?
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • C# ClearScript V8ScriptEngine — Как добавить статическую функцию в движок
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • C# ClearScript V8ScriptEngine — Как добавить статическую функцию в движок
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»