2016-11-06 111 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); –