2011-08-08 70 views
1

我想在操作腳本3中解析JSON字符串給我的一些自定義對象。是否有一些庫可以執行此操作。或者我有什麼想法,我可以做到這一點。感謝名單!將JSON對象解析爲動作腳本3中的自定義類對象

這裏是我想收到什麼樣的例子:

{ 
    "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字符串上我的課的領域?我怎樣才能以最簡單的方式和正確的方式來做到這一點?感謝名單!

回答

2

使用上的答案中提到的類,你只需要做到以下幾點:

 
var obj:Object = JSON.decode(jsonString); 
var user:UserInfo = new UserInfo(); 

for (var prop:String in obj) 
    user[prop] = obj[prop]; 

3
var obj:Object = JSON.decode(jsonString); 
var user:UserInfo = new UserInfo(); 

for (var prop:String in obj) 
    user[prop] = obj[prop]; 

這並不適用於自定義類型工作與getters(只讀屬性)。 describeType可用於僅獲取可設置的屬性,但存在性能問題。

Darron Schall有一個絕妙的解決方案,可以將JSON.parse(jsonString)純文本對象轉換爲自定義類型的對象。

https://github.com/darronschall/ObjectTranslator