Есть примеры использования. Предложения и замечания приветствуются.
Доп. инструмент:
Json Mapper viewtopic.php?p=54008
Модератор: Дед Пахом
Вся папка libscr с архива копировалась в c:\Clarion10\accessory\libsrc\win\Игорь Столяров писал(а): 22 Июнь 2023, 14:38 Там в комплекте идёт класс DynStrClass.inc / clw - их также нужно обновить (или установить).
Спасибо Игорь, так оно и оказалось.Игорь Столяров писал(а): 22 Июнь 2023, 14:53 Возможно откуда-то подтягивается старая версия ...
Проверьте нет ли c:\Clarion10\libsrc\win\ файлов DynStrClass.*
Или (для теста) скопируйте их в папку собираемого проекта.
Код: Выделить всё
jsonFactory.codePage = CP_ACP !- convert utf8 to ascii
jroot &= jsonFactory.Parse(BankTerm:TermJson_Response)
IF jroot &= NULL
!error
MESSAGE('Syntax error near: '& jsonFactory.GetError() &'|at position '& jsonFactory.GetErrorPosition())
RETURN
END
Код: Выделить всё
{"method":"Purchase","step":0,"params":{"trnStatus":"1","adv":"ТестБанк","adv2p":"Берем и делаем!", "bankAcquirer":"ТестБанк","paymentSystem":"TESTVISA","rrnExt":"","subMerchant":"","textMess":"","amount":"0,60", "approvalCode":"70569","captureReference":"","cardExpiryDate":"2512", "date":"18.08.2024","discount":"0.00","hstFld63Sf89":"","invoiceNumber":"1000840853","issuerName":"TESTVISA", "merchant":"S0HS0000","pan":"1111**TEST**9999","posConditionCode":"00","posEntryMode":"071","processingCode":"000000", "receipt":"<div class=\"receipt\"><div class=\"font-xl\">ТЕСТБАНК</div><div class=\"font-xs\" id=\"receipt_header\"> Тест совмещение<br/> вул.Университетськая,буд.102<br/> г.Мой<br/> ФОП TECT<br/> ЄДРПОУ: 1234567890<br/> </div><div class=\"oper\" id=\"oper\">ОПЛАТА</div><div class=\"block\" id=\"report_info\"><div class=\"block font-xl\" id=\"amount\">Сумма: 0,60 грн.</div></div><div class=\"block5\">П</div><div class=\"block5 align-right\"> </div><div class=\"block\" id=\"masked_pan\"> VISA 1234********5678</div><div class=\"block mt-10\" id=\"aid\"> AID: A0000000011111 </div><div class=\"block mb0 font-s\"><div class=\"block5\"><div class=\"pull-left\" id=\"datetime\"> 18.08.2024 15:14:06</div><div class=\"pull-right\" id=\"receipt_id\"> Чек № 1000840853 (Пакет: 0) </div></div><div class=\"block5\"><div class=\"pull-left\" id=\"merchant\"> Мерчант: S0HS0000 </div><div class=\"pull-right\" id=\"terminal_name\"> Терминал № 00101010 </div></div><div class=\"block5\"><div class=\"pull-left\" id=\"approval_code\"> Код авторизации: 177492 </div><div class=\"pull-right\" id=\"rrn\"> RRN: 29329659724 </div></div></div></div>", "responseCode":"0000","rrn":"29329659724","terminalId":"S0HS0000","time":"15:14:06","track1":"","signVerif":"0","txnType":"1"}, "error":false,"errorDescription":""}
Ну если это задана именно JSON как строка, тогда будьте любезны дублировать левые фигурную и угловую скобки:
Код: Выделить всё
'{{"method":"Purchase","step":0,"params":{{"trnStatus":"1","adv":"ТестБанк","adv2p":"Берем и делаем!",' ... и т.д.
Код: Выделить всё
'[{{"name":"Password", "ignore":true}, {{"name":"Balance", "format":"@N$9.2"}, {{"name":"LastVisitDate", "format":"@d17"}, {{"name":"LastVisitTime", "format":"@t8"}]'