여기에 json 파일이 있습니다.as3에서 JSON으로 배열을 넘겨주는 이유가 무엇입니까?
{
"BnUs5hQZkJWLU9jGlpx9Ifq5ocf2" : {
"bio" : "Your bio!\r",
"birthday" : "Date of Birth?",
"location" : "Location?",
"markerBorder" : 1.5542403222038021E7,
"markerColor" : 8222122.31461079,
"name" : "NamesName?",
"profilePrivacy" : 2,
"sex" : "Gender?",
"privacy" : 2,
"points" : {
"-Kc7lfJk3XbPlNyk-wIR" : {
"address" : "dsfsdfasfsfd",
"description" : "status/desription",
"latitude" : 35.2,
"longitude" : -80.7,
"mediaTargets" : "none",
"pub" : false,
"timestamp" : 1486205926658
},
"aaa" : "aaa"
}
}
}
이러한 임의의 문자 열은 firebase를 사용할 때 자동으로 만들어집니다.
이 시나리오에서는 더 많은 "포인트"를 고려해야합니다. 따라서 포인트를 참조 할 때 배열에 "-Kc7lfJk3XbPlNyk-wIR"
(배열)과 "aaa"
(문자열)이 모두 포함되어 있기 때문에 배열과 대화해야합니다.
parsedObject.points
을 배열로 변환하려고 할 때 왜 유형 오류가 발생합니까?
var parsedObject:Object = JSON.parse(e.target.data);
var multiArray:Array = parsedObject.points;
TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to Array.
기본적으로 나는 무엇이든 this guy의 반대 작업을 수행하려고합니다.
편집 : 관리
나는 단지 문자열, 숫자 및 부울 값을 처리하는 the notes에서 볼은 .. 같은 값으로 중복 객체의 "부모"노드를 추가하여 해결하기 전체 노드의 이름이므로 스크립트에서 참조 할 수 있습니다. 이 문제를 해결할 더 좋은 방법이 있습니까? 꽤 중복 된 것 같습니다.
var parsedObject:Object = JSON.parse(e.target.data);
var myPoints:Object = parsedObject["points"];
//Get all trek names
for each (var key:Object in myPoints)
{
trace("Key = " + key.parent);
trace(parsedObject.treks[key.parent].latitude) //Returns -80.7
}