Вверх ↑
Этот топик читают: Гость
Ответов: 840
Рейтинг: 17
#1: 2024-08-22 07:33:28 ЛС | профиль | цитата
2 примера , локальная работа и методом POST/GET


Add(MainForm,11264494,427,336)
{
Width=543
Height=557
BorderStyle=3
}
Add(VBJScript,3294728,476,154)
{
WorkPoints=#6:doWork|
EventPoints=#22:onEvent=Ответ по ключу|
DataPoints=#20:jsonObject=Тело Json|14:path=Ключ Json|
Language=1
Script=#16:function Main() |1:{|34: var jsonText = sys.jsonObject;|24: var path = sys.path;|19: var jsonObject;|9: try {|42: jsonObject = JSON.parse(jsonText);|17: } catch (e) {|49: jsonObject = eval('(' + jsonText + ')'); |9: } |31: var keys = path.split('.');|4: |26: var out1 = jsonObject;|43: for (var i = 0; i ‹ keys.length; i++) {|51: if (out1 && out1.hasOwnProperty(keys[i])) {|33: out1 = out1[keys[i]];|16: } else {|24: out1 = null;|18: break;|9: }|5: }|0:|22: sys.onEvent(out1);|1:}|0:|29:function doWork(Data, Index) |1:{|11: Main();|1:}|0:|
UseName=0
link(onEvent,5505261:doMessage,[])
link(jsonObject,494812:Text,[])
link(path,9274430:String,[(489,146)(538,146)])
}
Add(Message,5505261,602,154)
{
}
Add(StrList,494812,476,98)
{
Strings=#1:{|21: "personalInfo": {|20: "contact": {|22: "phone": {|41: "mobile": "123-456-7890",|38: "home": "098-765-4321"|14: },|42: "email": "example@example.com"|10: },|27: "name": "John Doe",|17: "age": 30|6: },|16: "friends": [|9: {|28: "name": "Alice",|24: "contact": {|45: "email": "alice@example.com",|26: "phone": {|44: "mobile": "555-123-4567"|17: }|13: }|10: },|9: {|26: "name": "Bob",|24: "contact": {|43: "email": "bob@example.com",|26: "phone": {|44: "mobile": "555-987-6543"|17: }|13: }|9: }|5: ]|1:}|
}
Add(ComboBox,9274430,525,98)
{
Left=10
Top=10
Width=210
Height=21
Strings=#33:personalInfo.contact.phone.mobile|17:personalInfo.name|16:personalInfo.age|31:personalInfo.contact.phone.home|
Text="personalInfo.contact.phone.mobile"
link(onClick,3294728:doWork,[(582,111)(582,78)(464,78)(464,160)])
}
Add(VBJScript,12261476,476,378)
{
WorkPoints=#6:doWork|
EventPoints=#31:onGET=Результат метода GET/POST|21:onJson=Ответ по ключу|25:onError=Ошибка соединения|
DataPoints=#19:URL=Ссылка на адрес|21:Path=Ключ вывода JSON|30:Type=Протокол Запроса GET/POST|
Language=1
Script=#16:function Main() |1:{|32:// Создаем объект XMLHttpRequest|46:var xhr = new ActiveXObject("MSXML2.XMLHTTP");|18:// URL для запроса|57:var url = "http://users.bugred.ru/tasks/rest/doregister";|43:// Открываем GET-запрос (синхронный запрос)|31:xhr.open(sys.Type, url, false);|20:// Отправляем запрос|11:xhr.send();|27: // Проверяем статус ответа|26: if (xhr.status === 200) {|49: // Если запрос успешен, выводим результат|40: var response = xhr.responseText;|28: sys.onGET(response);|10: } else {|49: // Если произошла ошибка, выводим сообщение|69: sys.onError("Error: " + xhr.status + " - " + xhr.statusText);|2: }|0:|7:// JSON|28: var jsonText = response;|24: var path = sys.Path;|19: var jsonObject;|9: try {|42: jsonObject = JSON.parse(jsonText);|17: } catch (e) {|49: jsonObject = eval('(' + jsonText + ')'); |9: } |31: var keys = path.split('.');|4: |26: var out1 = jsonObject;|43: for (var i = 0; i ‹ keys.length; i++) {|51: if (out1 && out1.hasOwnProperty(keys[i])) {|33: out1 = out1[keys[i]];|16: } else {|24: out1 = null;|18: break;|9: }|5: }|0:|21: sys.onJson(out1);|0:|0:|2: |1:}|0:|29:function doWork(Data, Index) |1:{|11: Main();|1:}|
UseName=0
link(URL,9448768:Value,[])
link(path,5413272:Value,[])
link(onGET,5633026:doWork2,[])
link(onJson,8850742:doMessage,[])
link(onError,5633026:doWork3,[(627,398)])
link(Type,15732142:String,[(496,345)(566,345)])
}
Add(Button,9949780,427,378)
{
Left=10
Top=45
Width=90
Caption="GET/POST"
link(onClick,12261476:doWork,[])
}
Add(Memory,9448768,476,245)
{
Default=String(http://users.bugred.ru/tasks/rest/doregister)
}
Add(Memory,5413272,483,294)
{
Default=String(message)
}
Add(Message,8850742,574,385)
{
}
Add(ComboBox,15732142,553,294)
{
Left=120
Top=45
Width=100
Height=21
Strings=#3:GET|4:POST|
Text="GET"
}
Add(Memo,3977903,714,378)
{
Top=103
Width=537
Height=425
Align=4
ScrollBars=3
}
Add(Hub,182158,658,378)
{
link(onEvent1,3977903:doClear,[(682,384)(682,391)])
link(onEvent2,3977903:doAdd,[(682,391)(682,384)])
}
Add(HubEx,5633026,623,378)
{
link(onEvent,182158:doEvent1,[])
}
Add(InfoTip,16636110,420,49)
{
Info=#8:Локально|
Width=288
Height=186
}
Add(InfoTip,5862749,420,238)
{
Info=#16:методом POST/GET|
Width=372
Height=207
}


Редактировалось 1 раз(а), последний 2024-08-22 07:34:11
карма: 0

0
Ответов: 773
Рейтинг: 168
#2: 2024-08-22 13:59:10 ЛС | профиль | цитата
GAv, Некоторые уточнения..
Выложенная тобой схема не работает из-за того что форум меняет знак < на « , приходится исправлять.
Такие схемы лучше выкладывать в zip-архиве.
Попробуй в твоей схеме вывести имена друзей "Alice" и "Bob" (friends.name)

Парочка очень простых примеров.
Add(MainForm,2900394,217,133)
{
Height=218
link(onCreate,9047339:doString,[])
}
Add(VBJScript,5984309,266,98)
{
VarPoints=#5:test1|5:test2|0:|
DataPoints=#4:json|
Language=1
Script=#28:function GetVar(Data, Index)|1:{|26:eval('var a = '+sys.json);|18: switch (Index)|10: {|29: case 'test1':|32: return (a.friends[0].name);|11: break;|30: case 'test2': |32: return (a.friends[1].name);|11: break;|11: }|4:} |
UseName=0
link(json,494812:Text,[])
}
Add(Memo,8484337,315,147)
{
Width=384
Height=179
Align=5
Font=[Consolas,14,0,0,204]
FileName="обработанный массив.txt"
ScrollBars=3
}
Add(FormatStr,9047339,266,147)
{
Mask="%1 and %2"
link(onFString,8484337:doAdd,[])
link(Str1,5984309:test1,[])
link(Str2,5984309:test2,[])
}
Add(StrList,494812,266,49)
{
Strings=#1:{|21: "personalInfo": {|20: "contact": {|22: "phone": {|41: "mobile": "123-456-7890",|38: "home": "098-765-4321"|14: },|42: "email": "example@example.com"|10: },|27: "name": "John Doe",|17: "age": 30|6: },|16: "friends": [|9: {|28: "name": "Alice",|24: "contact": {|45: "email": "alice@example.com",|26: "phone": {|44: "mobile": "555-123-4567"|17: }|13: }|10: },|9: {|26: "name": "Bob",|24: "contact": {|43: "email": "bob@example.com",|26: "phone": {|44: "mobile": "555-987-6543"|17: }|13: }|9: }|5: ]|1:}|
}


Add(MainForm,2900394,91,196)
{
Height=218
link(onCreate,9047339:doString,[])
}
Add(Memo,8484337,385,210)
{
Width=384
Height=179
Align=5
Font=[Consolas,14,0,0,204]
FileName="обработанный массив.txt"
ScrollBars=3
}
Add(FormatStr,9047339,147,210)
{
Mask="$js = @'\r\n%1\r\n'@\r\n\r\n(ConvertFrom-Json $js).friends.name\r\n\r\n"
link(onFString,16234802:doReplace,[])
link(Str1,494812:Text,[])
}
Add(StrList,494812,147,161)
{
Strings=#1:{|21: "personalInfo": {|20: "contact": {|22: "phone": {|41: "mobile": "123-456-7890",|38: "home": "098-765-4321"|14: },|42: "email": "example@example.com"|10: },|27: "name": "John Doe",|17: "age": 30|6: },|16: "friends": [|9: {|28: "name": "Alice",|24: "contact": {|45: "email": "alice@example.com",|26: "phone": {|44: "mobile": "555-123-4567"|17: }|13: }|10: },|9: {|26: "name": "Bob",|24: "contact": {|43: "email": "bob@example.com",|26: "phone": {|44: "mobile": "555-987-6543"|17: }|13: }|9: }|5: ]|1:}|
}
Add(WinExec,7513788,259,196)
{
FileName="powershell"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,3293948:doWork2,[])
link(onConsoleError,3293948:doWork3,[(305,223)])
}
Add(HubEx,3293948,301,210)
{
link(onEvent,15179247:doCharset,[])
}
Add(Charset,15179247,329,210)
{
link(onCharset,8484337:doAdd,[])
}
Add(Replace,16234802,203,210)
{
SubStr="""
DestStr="'"
link(onReplace,7513788:doConsoleExec,[])
}


Редактировалось 1 раз(а), последний 2024-08-22 14:00:58
карма: 15

0
2
Сообщение
...
Прикрепленные файлы
(файлы не залиты)