2012-05-17 17 views

回答

5

如果您使用的是傑克遜JSON處理器http://jackson.codehaus.org/翻譯您的POJO模型代碼到JSON,你不應該重新任何屬性上的骨幹機型。一個簡單的例子:

public String getPerson(){ 
    Person personPOJOInstance = new Person(); 
    ObjectMapper mapper = new ObjectMapper(); 
    StringWriter sw = new StringWriter(); 

    try{ 
     mapper.writeValue(sw, personPOJOInstance); 
     pojoJSON = sw.getBuffer().toString(); 
    } 
    catch(IOException exc){ 

    } 
    return pojoJSON; 
} 

你甚至不必擔心這樣做,如果你使用的是Spring MVC的控制器和標記具有以下@RequestMapping註解控制器方法,就像這樣:

@RequestMapping(method= RequestMethod.GET, produces = "application/json", value="/path/to/controller/method") 
public @ResponseBody getPerson(){ 
    return new Person(); 
} 

最後,你的主幹模型是非常簡單:

var Person = Backbone.Model.extend({ 
    url: '/path/to/controller/method' 
}); 

你不需要指定在骨幹模型中的任何默認屬性,但它這可能是一個好主意。

現在,當你抓取模式,您可以訪問任何從原來的POJO來到骨幹模型是這樣的屬性:

//instantiate and fetch your model. 
var person = new Person(); 
person.fetch(); 
... 
//access properties on your model. 
var name = person.get('name');