Цикл по неповторяющимся элементам в Tibco Designer
Я работаю с данными JSON в Tibco Designer, чей список переменных со временем неизвестен, например:
{
"d":
{
"FileSystemObjectType": 0,
"Id": 28,
"ServerRedirectedEmbedUri": null,
"ServerRedirectedEmbedUrl": "",
"ContentTypeId": "0x0100B1C6D289C2D47E44A2BA609B1F830824",
"Title": "Title 5",
"ComplianceAssetId": null,
"Personal_x0020_Details_x007c_Fir": "Name",
"Personal_x0020_Details_x007c_Mid": "Name",
"Personal_x0020_Details_x007c_Las": "Name",
"Personal_x0020_Details_x007c_Dat": "2000-01-01",
"Personal_x0020_Details_x007c_Gen": "Male",
"Personal_x0020_Details_x007c_Ema": "name@email.com",
"Personal_x0020_Details_x007c_Nat": "National",
"Personal_x0020_Details_x007c_Pre": null,
"Personal_x0020_Details_x007c_KRA": null,
"ID": 28,
"Modified": "2018-09-14T12:39:41Z",
"Created": "2018-09-14T12:39:41Z",
"AuthorId": 1073741822,
"EditorId": 1073741822,
"OData__UIVersionString": "1.0",
"Attachments": false,
"GUID": "f4f0bef9-3a5d-4a61-813d-8b5973b24316"
}
}
Итак, есть ли способ, которым я могу зацикливаться на полях после динамического разбора данных в XML, учитывая, что поля не повторяются, так что я получаю пару "ключ: значение", которую я могу использовать для других целей?
1 ответ
Если вы не хотите использовать определенный код Java ( json xml), вы можете попытаться токенизировать входную строку JSON на основе "}", ":" и "," в иерархические строковые массивы (без строгой типизации в JSON). Вы можете использовать регулярное выражение (я использую java-функцию jar для расширения преобразователя xpath), чтобы выполнить базовое "{ ... }" рекурсивное разбиение, а затем токенизировать с помощью ":" и, наконец, убрать начальные и конечные символы "". Если вы рекурсивно вызывая расщепление, вы также получаете массив иерархических строк, который вы хотите представить для представления иерархического JSON. Я бы предпочел использовать для этого код Java.