Your comments

Добрый день, Владимир!

Приходящие данные от устройства в событие IR.EVENT_RECEIVE_TEXT всегда имеют тип данных строка. Из строки можно сделать живой объект JSON. Для этого строку надо передать в метод Parse объекта JSON.

var myObject = JSON.Parse(text); // где text, это входящие данные и myObject - живой объект.

Далее, у объекта уже есть свойство length - длина, если это массив. Длина массива и есть количество элементов - объектов.

var length = myObject.length;
IR.Log(length);

Работа с JSON на вики:
http://wiki2.iridiummobile.ru/Drivers_API#JSON.Parse
https://s3.amazonaws.com/iRidiumWiki2.0/i2Scripts/JS_Iridium_demo_json.irpz
Hi, Abhijeet

It is a syntax example to send Cookie by TCP Driver.


var post = '{"Data1": "value1","Data2":"'value2"}';

var packet = 'POST ' + '/news.html' + ' HTTP/1.0\n' +
'Host: ' + 'www.site.ru'+ ':' + '80' + '\n'+
'Connection: keep-alive\n'+
'Content-Type: application/json\n'+
'User-Agent: Mozilla/3.0 (compatible; Indy Library)\n'+
'Accept-Encoding: identity\n'+
'Content-Length: '+ post.length + '\n\n' + post + '\n' +
'Cookie: income=1';

var Driver = IR.GetDevice("AV & Custom System TCP");

Driver.Send[packet];
Hi,

It is a syntax example to send Cookie by TCP Driver.


var post = '{"Data1": "value1","Data2":"'value2"}';

var packet = 'POST ' + '/news.html' + ' HTTP/1.0\n' +
'Host: ' + 'www.site.ru'+ ':' + '80' + '\n'+
'Connection: keep-alive\n'+
'Content-Type: application/json\n'+
'User-Agent: Mozilla/3.0 (compatible; Indy Library)\n'+
'Accept-Encoding: identity\n'+
'Content-Length: '+ post.length + '\n\n' + post + '\n' +
'Cookie: income=1';

var Driver = IR.GetDevice("AV & Custom System TCP");

Driver.Send[packet];

Hi, Abhijeet!

The TV communicate with http protocol. But if you want to control with iRidium in currrent version then it will be not easy.

You can try to adapt this code to iRidium API:
https://github.com/shabunin/cf-sonytv/blob/master/scripts/SonyTV.js

To generate http request by manual, you can use this tool:
http://requestmaker.com/

if you not have best skill in the java script then may be best way is stop this task.
Hello Abhijee!

if you not use https protocol (only http) then you can simulate cookie by TCP driver. To simulate write full request in the string, for example:

var Data = "GET http://www.site.ru/news.html?login=Petya%20Vasechkin&password=qq HTTP/1.0\r\n Host: www.site.ru\r\n Referer: http://www.site.ru/index.html\r\n Cookie: income=1\r\n \r\n";

Driver.Send[Data];
Добрый день, Евгений!
Обращайтесь к полю "#text" через квадратные скобки, например:

var t = JSON.Parse({"#text":"xxxx:\/\/userserve-ak.last.fm\/serve\/34\/5674126.yyy","size":"small"});
IR.Log(t["#text"]);

Добрый день, Евгений!

Заменять слеши не требуется. Вам необходимо убрать из строки слова из начала "fni80jqyfp(" и из конца ");"

var changeTextPart1 = inText.replace("fni80jqyfp","");
var changeTextPart2 = changeTextPart1.replace(/\(/,"");
var changeTextPart3 = changeTextPart2.replace(/\);/,"");

А затем полученную строчку changeTextPart3 отправить на parse в JSON.

Audioccrobbler.irpz