2016-11-06 163 views
-3

我正在使用Java的play framework。我們可以如何將List轉換爲Json?List to JSON:Play Framework:Java

我試圖與下面的代碼:

List<XYZ> data = PQRDao.func01(); 

return ok(Json.toJson(data)); 

輸出:

[["1","APPLE"],["2","BANANA"],["3',"ORANGE"]] 

實際需求:提前

[{"code": "1","fruitName": "APPLE"},{"code": "2","fruitName": "BANANA"},{"code": "3',"fruitName": "ORANGE"}] 

感謝

+0

'[[ 「1」, 「APPLE」],[ 「2」, 「香蕉」],[「3' 」ORANGE「] ]'這是你實際擁有的清單嗎?其實它的列表列表不包含對象列表 –

回答

-1

這是一個簡單的for循環您東東d.below是工作碼

<script> 
 
    
 
    var list = [["1","APPLE"],["2","BANANA"],["3","ORANGE"]]; 
 
    var finalList =[]; 
 

 
    function createJson() { 
 
for(var i=0;i<list.length;i++){ 
 
    var item = list[i]; 
 
    var obj = {}; 
 
    obj.code = item[0]; 
 
    obj.fruitName =item[1]; 
 
    finalList.push(obj); 
 
} 
 
    console.log(finalList); 
 
    } 
 
    </script> 
 
<button onclick="createJson()"> Format</button>

+0

我試過下面的代碼,但得到運行時錯誤「[CompletionException:java.lang.ClassCastException:[Ljava.lang.Object; can not be cast to models.XYZ」:\t列表 data = PQRDao.func01(); \t \t \t \t \t \t 結果ArrayNode = Json.newArray(); \t \t \t \t \t 爲(XYZ,P:數據){ \t \t ObjectNode節點= Json.newObject(); \t \t node.put(「code」,p.fruitCode); \t \t node.put(「fruitName」,p.fruitName); \t \t result.add(node); \t} \t return ok(result); –

+0

它是如此工作?爲你 ! –

+0

List data = PQRDao.func01(); \t \t \t \t \t \t 結果ArrayNode = Json.newArray(); \t \t \t \t \t 爲(XYZ,P:數據){ \t \t ObjectNode節點= Json.newObject(); \t \t node.put(「code」,p.fruitCode); \t \t node.put(「fruitName」,p.fruitName); \t \t result.add(node); \t} \t return ok(result); –