Хорошо, для такого типа шаблона данных я не знаю, как это сделать.Исходя из предположения, что вы не можете повлиять на данные, чтобы сделать их более похожими на JSON ... вот что мне хотелось бы попробовать:
var str:String = "{ id:1, value:['a', 500] }";
// strip off the { and } characters since we've nothing nice to do that for us...
var mynewString:String = str.slice(1, str.length - 1);
var stringItems:Array = mynewString.split(",");
var obj:Object = new Object();
for (var i in stringItems)
{
var objProps:Array = stringItems[i].split(":");
// kill off the quotes here
obj[props[0]] = objProps[1].slice(1, objProps[1].length - 1);
if ( obj[props[0]].indexOf('[') == 0 ) {
// remove [ and ] if there
var maybeStrArray:String = obj[props[0]].slice(1, str.length - 1);
// right now assume we're an array based on our inbound data
var strArr:Array = maybeStrArray.split(",");
obj[props[0]] = strArr;
}
}
Что-то подобное или подобноетем не мение.Да, это грубо, и абсолютно это можно сделать более гибким способом (например, переместить строку в преобразование массива в его собственную функцию, чтобы я мог использовать ее в другом месте).Это просто первое, что концептуально пришло в голову как ответ.
Попробуйте, настройте его и посмотрите, поможет ли это.