使用Dataweave Mule从电话号码中查找国家代码

使用Dataweave Mule从电话号码中查找国家代码,mule,dataweave,Mule,Dataweave,我的输入请求JSON如下所示: { "phoneNumbers": [{ "phoneNumberType": "mobile", "phoneNumber": "54112724555" }, { "phoneNumberType": "mobile", "phoneNumber": "16298765432" } ] } 我希望生成如下输出Json: { "phoneNumber

我的输入请求JSON如下所示:

{
    "phoneNumbers": [{
        "phoneNumberType": "mobile",
        "phoneNumber": "54112724555"
    },
    {
        "phoneNumberType": "mobile",
        "phoneNumber": "16298765432"
    }
    ]
}
我希望生成如下输出Json:

{
    "phoneNumbers": [{
        "phoneNumberType": "mobile",
        "phoneNumber": "54112724555",
        "CountryCode": "ARG"
    },
    {
        "phoneNumberType": "mobile",
        "phoneNumber": "16298765432",
        "CountryCode": "US"
    }
    ]
}
我使用csv文件中给出的callingCode和countryCode映射从电话号码中导出countryCode

CALLING_CODE,COUNTRY_CODE
1,US
7,RU
54,AR
20,EG
32,BE
33,FR
505,NI
506,CR
1876,JM
1905,CA
1939,PR
262262,RE
262269,YT
.,.
.,.
我使用fileConnector读取CSV文件并将其存储在Vars.CallingCodeMapping中


我必须使用呼叫代码查找电话号码,方法是将电话号码中的第一个字母与返回的国家代码相匹配,然后传递前两个字母……如果没有任何字母与返回NA相匹配,则传递第一个字母。

将此输入作为有效负载

[
   "54112724555",
   "16298765432"
]
这个csv在一个叫做国家代码的变量中

输出

[
  [
    {
      "CALLING_CODE": "54",
      "COUNTRY_CODE": "ARG"
    }
  ],
  [
    {
      "CALLING_CODE": "1",
      "COUNTRY_CODE": "US"
    }
  ]
]

至少对我来说,你需要澄清,因为我不理解你的算法。@George,我已经更新了问题。希望天气转晴
[
  [
    {
      "CALLING_CODE": "54",
      "COUNTRY_CODE": "ARG"
    }
  ],
  [
    {
      "CALLING_CODE": "1",
      "COUNTRY_CODE": "US"
    }
  ]
]