2014-08-27 38 views
0

我有一個使用Ebean和Play Framework的AngularJS應用程序。我正在使用Java 7.我在服務器上有一個Java對象,它應該在從數據庫中獲取後發送給客戶端。這是一個RESTful服務,對象在Json中發送。我爲這個對象添加了一個新字段,它本身就是一個對象。我期望這個字段被序列化併發送到客戶端,但不會被髮送。是否有任何註釋或我可以做的任何事情,以便將該字段發送給客戶?我想要發送的字段是呼叫服務,它是一個資源對象。如何讓Java對象字段被序列化併發送到客戶端

public Class DVMOrderItem extends OrderItem { 
    private static final long serialVersionUID = -2757166118137807642L; 
    @OneToOne(mappedBy = "discoOrderItem") 
    protected Resource service; 
    /** getters and setters available */ 
+0

這與AngularJS無關。當人們無法通過添加不相關的標籤來幫助你時,你會浪費人們的時間閱讀問題 – 2014-08-27 12:23:37

+0

請添加負責檢索該數據的控制器方法的代碼。 – Salem 2014-08-27 13:33:19

+1

@Alessandro你閱讀過文檔嗎? https://www.playframework.com/documentation/2.3.x/JavaJsonActions – Ryan 2014-08-27 14:08:33

回答

0

你應該嘗試創建一個串行本場

首先添加字段上方的註釋:

@JsonSerialize(using=MyJsonSerializer.class) 

然後創建您的JSON序列化類:

import com.fasterxml.jackson.core.JsonGenerator; 
import com.fasterxml.jackson.core.JsonProcessingException; 
import com.fasterxml.jackson.databind.JsonSerializer; 
import com.fasterxml.jackson.databind.SerializerProvider; 

public class MyJsonSerializer extends JsonSerializer<Customer> 
{ 
    @Override 
    public void    serialize(Customer comp, JsonGenerator gen, SerializerProvider provider)throws IOException, JsonProcessingException 
    { 
     //This is how to create a json object with jackson 
     gen.writeStartObject(); 
     gen.writeObjectField("idCustomer", myValue1); 
     gen.writeObjectField("name", myValue2); 
     gen.writeEndObject(); 
    } 
} 

MyJsonSerializer類將在每次要序列化字段時調用。

相關問題