Подсчет конкретного слова в строке с использованием кода Zapier - PullRequest
0 голосов
/ 02 июня 2018

Я использую Zapier для автоматизации многих наших бизнес-функций, и это здорово, но я застрял, пытаясь подсчитать количество массивов или, если хотите, конкретный шаблон слов, который получается из строки.Я могу привести строку в порядок с помощью форматера Zapier, но не могу понять, как выполнить подсчет.

Вот пример приведенной в порядок строки, в которой «были удалены»:

[{Name:Jon,Surname:Smith},{Name:David,Surname:Michael},{Name:Sam,Surname:Fields},{Name:Katy,Surname:Milnes}]

В этом случае я бы хотел, чтобы подсчет «Name» возвращал 4.

Я рассмотрел различные примеры кода для подсчета слов, но не могу выполнить их правильно в действии кода Zapier. Это, вероятно, действительно простовперед, но я не прихожу из фона кодирования, поэтому будет очень признателен простой Java (или Python) сценарий, позволяющий перейти к действию кода Zapier, или некоторые указания о том, как решить эту проблему.

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Ну, в Python вы можете преобразовать строку json в словарь с ключом в качестве имени.Длина словаря - это то, что вы ищете.Вот пример:

import json
from collections import defaultdict
d=defaultdict(list)
x=json.dumps([{'Name':'Jon', 'Surname':'Smith'},{'Name':'David','Surname':'Michael'},{'Name':'Sam','Surname':'Fields'},{'Name':'Katy','Surname':'Milnes'}])
json_string=json.loads(x)
for obj in json_string:
    if(obj['Name'] in d):
        d[obj['Name']].append([obj['Name']+' '+obj['Surname']])
    else:
        d[obj['Name']]=[obj['Name']+' '+obj['Surname']]
print(len(d))
0 голосов
/ 05 июня 2018

Чего вы на самом деле пытаетесь достичь, пытаясь посчитать слово?

Вы просто хотите узнать количество объектов, содержащихся в массиве?Если это так, то это сработает.Предполагая, что массив находится в вашем inputData для шага кода.

var data = JSON.stringify([{'Name':'Jon', 'Surname':'Smith'},{'Name':'David','Surname':'Michael'},{'Name':'Sam','Surname':'Fields'},{'Name':'Katy','Surname':'Milnes'}]);
var inputData = {objArr: data};

// Do not insert the above lines in your code step. 
// Set the objArr to your array in the inputData step.

var parsedObjArr = JSON.parse(inputData.objArr);
// Skip the above step if the array is not in the inputData object.

var arrLen = parsedObjArr.length
console.log('Array Length: ', arrLen);

// The line below outputs data from the code step.  
output = {arrLen}

Также note , вам не нужно удалять кавычки из строки JSON.

Если массив не находится в inputData шага кода, вы можете просто напрямую использовать метод length в массиве.

...