Apache flex 难以使用Flex访问Google搜索API
我正试图通过谷歌搜索API获取进入页面的链接数量 它不工作(只返回Null) 这是密码Apache flex 难以使用Flex访问Google搜索API,apache-flex,adobe,flex3,Apache Flex,Adobe,Flex3,我正试图通过谷歌搜索API获取进入页面的链接数量 它不工作(只返回Null) 这是密码 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();" width="320" height="480" backgroundGradientColors="1151
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();" width="320" height="480" backgroundGradientColors="115115" backgroundGradientAlphas=".2" backgroundAlpha=".2" dropShadowEnabled="false">
<mx:Script>
<![CDATA[
//
// Author: Wayne IV Mike
// Project: JSwoof - The Flex JSON library.
// Description: Formated JSON loaded from txt file.
// Date: 31st March 2009.
// Contact: wayne.ivor@googlemail.com , dappa2000@blueyonder.co.uk
//
import json.*;
import mx.controls.Alert;
public function loadFile4(urlLink:String):void
{
var request:URLRequest = new URLRequest(urlLink);
var urlLoad:URLLoader = new URLLoader();
urlLoad.addEventListener(Event.COMPLETE, fileLoaded4);
urlLoad.load(request);
}
private function fileLoaded4(event:Event):void
{
var jObj:Object = JParser.decode(event.target.data); //Decode JSON from text file here.
var jStr:String = JParser.encode(jObj);
if(jStr != null && jStr != "")
{
var LinkTemp:String = jObj.estimatedResultCount;
txtLinks.text = "Google Links " + LinkTemp;
trace(event.target.data);
}
}
/********************************************************************/
private function LinkLookup():void
{
loadFile4("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=link:twitter.com/" + NameSearch.text);
}
]]>
</mx:Script>
<mx:TextInput x="17" y="86" id="NameSearch" text="cnnbrk" width="229" height="30" fontSize="16" fontWeight="bold" cornerRadius="10" shadowDirection="center" shadowDistance="5"/>
<mx:Button x="253" y="85" label="Find" id="GoSearch" click="LinkLookup()" height="31"/>
<mx:Label text="Links" id="txtLinks" width="233" textAlign="left" color="#FFFFFF" fontSize="14" height="21"/>
</mx:Application>
因此,查询返回的数据是正确的,困难在于访问JSON数据末尾附近的“estimatedResultCount”
任何帮助都将不胜感激 我没有使用JParser,我通常使用corelib进行JSON解析。也就是说,您只是错误地访问了值。尝试使用这个函数
private function fileLoaded4(event:Event):void
{
var jObj:Object = JSON.decode(event.target.data).responseData;
if (jObj.results) {
var LinkTemp:String = jObj.cursor.estimatedResultCount;
txtLinks.text = "Google Links " + LinkTemp;
}
}
作为补充说明,我建议使用flex访问google API。什么是跟踪(event.target.data)代码>给予?
private function fileLoaded4(event:Event):void
{
var jObj:Object = JSON.decode(event.target.data).responseData;
if (jObj.results) {
var LinkTemp:String = jObj.cursor.estimatedResultCount;
txtLinks.text = "Google Links " + LinkTemp;
}
}