2017-02-06 6 views
1

Я работаю над сайтом, который отвечает на запрос GET в простом текстовом формате, я хочу сохранить данные и заголовок в отдельных переменных.Как отделить данные ответа отклика в ActionScripts3

Код:

function URLRequest_method():void 
{ 
     var url:String = "http://sms-reg.ru/index.php"; 

     var getbalance:String  = "mode=api&apikey=*=getbalance"; 

     var postParams:URLVariables = new URLVariables(getbalance); 

     var request:URLRequest = new URLRequest(url); 
     request.method = URLRequestMethod.GET; 
     request.data = postParams; 

     var urlLoader:URLLoader = new URLLoader(); 

     urlLoader.addEventListener(Event.COMPLETE, onLoaderComplete); 
     urlLoader.load(request); 

} 

function onLoaderComplete(event:Event):void 
{ 
    var urlLoader2:URLLoader = event.target as URLLoader; 

    txt_BALANCE1.text = urlLoader2.data; 

    trace(urlLoader2.data); 

     //var json:Object = JSON.parse(urlLoader2.data); 
     // trace("json.response = ", json.response); 

} 

URLRequest_method(); 

Обновление:

function onLoaderComplete(event:Event):void 
{ 
     var urlLoader2:URLLoader = event.target as URLLoader; 
     trace(urlLoader2.data); 

     //var json:Object = JSON.parse(urlLoader2.data); 
     // trace("json.response = ", json.response); 
     var response:String = urlLoader2.data; 

     var pattern:RegExp = new RegExp("BALANCE:([0-9.-]+)"); 

     var data:Object = pattern.exec(response); 

     if (data != null && data[1] != null) 
     { 
     var value:Number = parseFloat(data[1]); 
     trace(value); 
     } 

} 

Выходы: БАЛАНС: 123.00

ID23: 3 (Телеграмма); ID28: 4 (Viber); ID29: 6 (Whatsapp); ID30: 5 (Instagram);

мне нужно отделить заголовок и данные: "БАЛАНС" "" ИЛИ "ID23" "" | каждый в отдельной переменной.

ответ

1

Вы можете извлечь значение, используя регулярное выражение, например, что-то вроде этого

var response:String = "BALANCE:123.00" 

var pattern:RegExp = new RegExp("BALANCE:([0-9.-]+)"); 

var data:Object = pattern.exec(response); 

if (data != null && data[1] != null) { 
    var value:Number = parseFloat(data[1]); 
    trace(value); 
} 

Один я при условии, является достаточно простым, чтобы извлечь данные из известных форматов данных, но, до тех пор, пока есть шаблон в строке вы можете извлечь нужные вам фрагменты информации.

Заканчивать руководство о том, как использовать RegExp в ActionScript

+0

Спасибо за ответ. –

+0

Как код будет для "TZ_NUM_ANSWER: Telegram code 32263"? –