Arrays ActionScript(AS3)对象/JSON文本输入

Arrays ActionScript(AS3)对象/JSON文本输入,arrays,json,actionscript-3,jsonobject,Arrays,Json,Actionscript 3,Jsonobject,我对ActionScript AS3/JSON有问题。对于这个问题,可能有一个非常简单的答案,所以如果这看起来像一个非常愚蠢的问题,我很抱歉 我试图做的是获取多个文本字符串,将它们放入一个对象中,然后将该对象作为JSON字符串发送到服务器 我的代码中的所有其他内容都可以正常工作,只要我在文本输入框中输入一段文本并发送对象,数组就会生成空条目,如下所示: {"email":null,"last_Name":null,"first_Name":null,"date_of_birth":null,"t

我对ActionScript AS3/JSON有问题。对于这个问题,可能有一个非常简单的答案,所以如果这看起来像一个非常愚蠢的问题,我很抱歉

我试图做的是获取多个文本字符串,将它们放入一个对象中,然后将该对象作为JSON字符串发送到服务器

我的代码中的所有其他内容都可以正常工作,只要我在文本输入框中输入一段文本并发送对象,数组就会生成空条目,如下所示:

{"email":null,"last_Name":null,"first_Name":null,"date_of_birth":null,"telephone":null}
但是,如果我将customer.first\u name=inPutfname替换为:customer.first\u name=John

然后数组回溯如下,这就是我想要的:

{"email":null,"last_Name":null,"first_Name":John,"date_of_birth":null,"telephone":null} 
那么,我如何获取多个输入文本字符串并将它们放入对象中,以便数组像上面的示例中那样读取,或者理想情况下像下面的示例:

{"email":randomemail@email.com"last_Name":smith,"first_Name":john,"date_of_birth":27/07/1989,"telephone":012343456788}
以下是我目前掌握的代码:

var inPutFirstname: String;

var inPutLastname: String;

var inPutEmail: String;

var inPutTelephone: String;

var inPutDob: String;


// changes customer data into an object
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

var customer:Object = new Object;

customer.first_Name =inPutFirstname;

customer.last_Name =  inPutLastname;           PROBLEM AREA?

customer.email = inPutEmail;

customer.date_of_birth = inPutDob;

customer.telephone = inPutTelephone;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


//changes customer object into json string

var myJson: String = JSON.stringify(customer);


var myVariableUrl: URLVariables = new URLVariables();
myVariableUrl.data = JSON.stringify(myVariableUrl);

var myRequestUrl: URLRequest = new URLRequest();
var authHeaderUrl: URLRequestHeader = new URLRequestHeader("xxxxxx", "xxxxxxx");

myRequestUrl.method = URLRequestMethod.POST;
myRequestUrl.data = myJson;
myRequestUrl.url = "website url"

var uload: URLLoader = new URLLoader();
uload.load(myRequestUrl);

uload.load(myRequestUrl);





mySendbutton.addEventListener(MouseEvent.MOUSE_DOWN, thefunction1);
// captures text from the input and places them into the customer object
function captureText1(): void {

inPutFirstname = myFirstName.text;
inPutLastname = myLastName.text;
inPutEmail = myEmail.text;
inPutDob = myDob1.text + myDob2.text + myDob3.text;
inPutTelephone = myTele.text;

}

 function thefunction1(event: MouseEvent): void {
 captureText1();
 trace(inPutfname);
 trace(myJson);
}
任何帮助都将是惊人的


谢谢各位,您的问题是,用于创建JSON对象的代码似乎没有包含在函数中,这意味着它将立即执行,因为这可能是附加到框架上的代码

您需要做的是将与创建JSON对象相关的代码包装到函数中,如下所示:

请注意,有很多方法可以更好地构造此代码,但是这应该说明一些核心概念


首先,您能否为以下各项添加函数captureText1跟踪:

trace(myFirstName.text);
trace(myLastName.text);
trace(myEmail.text);
etc...
只是为了确保你有适当的价值。 如果是,您可以在跟踪之后立即执行以下操作,而不是使用额外的变量:

var customer:Object = new Object;
customer.first_Name = myFirstName.text;
customer.last_Name =  myLastName.text;
customer.email = myEmail.text;
customer.date_of_birth = "" + myDob1.text + myDob2.text + myDob3.text;
customer.telephone = myTele.text;

var myJson: String = JSON.stringify(customer);
trace(myJson);

如果使用Textfield,代码在哪里?例如,如何更改inPutFirstname的值?这是什么意思?不使用Textfield,而是使用Textinput。这是最下面的代码。例如,当用户在文本框中输入自己的名字时,当用户单击带有inPutFirstname=myFirstName.text的send按钮后,该名字就会变成一个文本字符串变量;在捕获功能中。非常感谢walkietokyo。我觉得这是一种新的想法,但我就是无法理解。现在完全有道理了!
var customer:Object = new Object;
customer.first_Name = myFirstName.text;
customer.last_Name =  myLastName.text;
customer.email = myEmail.text;
customer.date_of_birth = "" + myDob1.text + myDob2.text + myDob3.text;
customer.telephone = myTele.text;

var myJson: String = JSON.stringify(customer);
trace(myJson);