hin4 писал(а):
подскажите как обработать json ответ web-сервераПример парсинга JSON ответа на стандартных компонентах.
Add(MainForm,4719667,105,210)
{
Width=437
Height=548
Caption="Курсы валют ЦБР"
link(onCreate,9364295:doDownload,[])
}
Add(VisualStrings,11141527,175,161)
{
Lines=#42:https://www.cbr-xml-daily.ru/daily_json.js|
Width=214
Height=25
}
Add(MTStrTbl,8868118,756,280)
{
Width=421
Height=509
Align=5
Name="asd"
Columns=#10:Код валюты|15:Название валюты|23:Курс к рублю на сегодня|
link(CodePageSet,7188498:GetData,[])
}
Add(EventFromData,7188498,756,224)
{
link(onEvent,7941961:doReplace,[])
}
Add(Replace,7941961,805,224)
{
SubStr="""
link(onReplace,7188498:doData,[(844,230)(844,216)(746,216)(746,230)])
}
Add(HTTP_Get,9364295,175,224)
{
link(onDownload,8204234:doConvert,[])
link(onStop,8546763:doColAction,[(214,251)(214,293)])
link(URL,11141527:Text,[])
}
Add(StreamConvertor,8204234,231,231)
{
Mode=6
link(onResult,5872125:doCharset,[])
}
Add(BlockFind,14111853,371,231)
{
IncludeBlock=1
StartBlock=""Date": ""
EndBlock="","
link(onSearch,6668896:doString,[])
}
Add(Charset,5872125,280,231)
{
Type=7
link(onCharset,6162946:doEvent1,[])
}
Add(FormatStr,6668896,420,231)
{
Mask="Курсы валют ЦБР на %1"
link(onFString,4719667:doCaption,[(459,237)(459,202)(95,202)(95,216)])
}
Add(Hub,6162946,336,231)
{
link(onEvent1,14111853:doSearch,[])
link(onEvent2,1221205:doSearch,[(361,244)(361,279)])
}
Add(BlockFind,1221205,371,273)
{
IncludeBlock=1
StartBlock="{"
EndBlock="}"
link(onSearch,1575706:doMultiBlockFind,[])
}
Add(MST_ColAction,8546763,231,287)
{
Action=9
MaxColWidth=1000
Index=-2
MSTControl="asd"
}
Add(MultiBlockFind,1575706,420,273)
{
Count=3
TagList="{**s} "CharCode": {**x} ,{**e} \r\n{**s} "Name": {**x} ,{**e} \r\n{**s} "Value": {**x} ,{**e}"
link(onResult1,10427479:doValue,[])
link(onResult2,9598334:doValue,[(501,286)(501,314)])
link(onResult3,15494458:doValue,[(494,293)(494,349)])
}
Add(Memory,15494458,525,343)
{
Default=String()
link(onData,4986666:doString,[(571,349)(571,391)(501,391)(501,412)])
}
Add(FormatStr,4986666,511,406)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,15216109:doMT,[])
link(Str1,10427479:Value,[])
link(Str2,9598334:Value,[])
link(Str3,15494458:Value,[])
}
Add(Memory,9598334,518,308)
{
Default=String()
}
Add(Memory,10427479,511,273)
{
Default=String()
}
Add(MST_RowAction,11877015,637,399)
{
MSTControl="asd"
}
Add(MT_String,15216109,588,399)
{
link(onResult,11877015:doRowAction,[])
}