簡體   English   中英

使用AS3將數據發送到JSON

[英]Sending data to a JSON with AS3

我已經要求客戶共享他的數據庫登錄名和密碼,但是他不能給我完全訪問他的數據庫的權限(我想是出於安全原因)。 他告訴我使用REST / JSON服務,該服務允許使用具有特定密鑰的此URL通過該URL發布數據,從而使他可以識別來自我的應用程序的所有數據。

這是我所做的:

var urlRequest:URLRequest = new URLRequest("the_url_using JSON service");
urlRequest.method = URLRequestMethod.POST;

 var urlvars: URLVariables = new URLVariables;
urlvars.observer_name = "Test Coco";
urlvars.observation_number = "5433";

trace("urlvars = "+urlvars);

urlRequest.data = urlvars;

var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.load(urlRequest);

它正在發送數據,因此正在運行,但是數據格式似乎不正確。

url返回此錯誤:“觀察者名稱丟失”

和“ trace (urlvars) ”輸出:

urlvars = observer%5Fname=Test%20Coco&observation%5Fnumber=5433

因此,我認為問題來自特殊字符或類似的字符(因為您可以通過“ observer%5Fname ”獲得“ observer_name ”結果,並且可以看到很多“%5”)

知道我該如何解決嗎?

JSON字符串是通用對象的字符串表示形式。 基本上你去:

var anObject:Object =
{
    "observer_name": "Test Coco",
    "observation_number": 5433
};

或者你可以構造它

var anObject:Object = new Object;

anObject['observer_name'] = "Test Coco";
anObject['observation_number'] = 5433;

然后將其轉換為String並附加到請求

var jsonString:String = JSON.stringify(anObject);

urlRequest.method = URLRequestMethod.POST;
urlRequest.data = jsonString;

進一步了解它: https : //help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/JSON.html

請記住,我不知道您所用的REST服務器的細節,上面的代碼可能無法按原樣工作。 我僅說明如何將JSON字符串作為POST請求發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM