我想在Action脚本3中将JSON字符串解析为我的自定义对象。是否有一些libs可以执行此操作。或者任何想法我怎样才能做到这一点。感谢名单!
以下是我想要收到的一个例子:
{
"result":{
"birthday_at":"0000-00-00",
"first_name":"Myname1",
"level":5,
"last_name":"MySurname",
"gender":0
},
"cmd":"INFO",
"service":{
"code":0,
"error_desc":""
}
}
和类UserInfo:
public class UserInfo
{
public Date birthday_at;
public String first_name;
public String last_name;
public int level;
public int gender;
}
我想要将JSON字符串解析为我班级的字段?我怎样才能以最简单的方式和正确的方式做到这一点?感谢名单!
答案 0 :(得分:3)
var obj:Object = JSON.decode( jsonString );
var user:UserInfo = new UserInfo();
for ( var prop:String in obj )
user[prop] = obj[prop];
这不适用于具有getter的自定义类型(只读属性)。 describeType可用于仅获取可设置的属性,但存在性能问题。
Darron Schall有一个很棒的解决方案来获取你的JSON.parse(jsonString)普通对象并将其转换为自定义类型的对象。
答案 1 :(得分:2)
有Adobe的JSON解析器。
https://github.com/mikechambers/as3corelib/tree/master/
import com.adobe.serialization.json
答案 2 :(得分:2)
使用上一个答案中提到的类,您只需要执行以下操作:
var obj:Object = JSON.decode( jsonString ); var user:UserInfo = new UserInfo(); for ( var prop:String in obj ) user[prop] = obj[prop];