2016-04-22 3 views
0

У меня есть следующий JsonSluper объект:Как проанализировать объект JsonSluper?

[ [id:5017,feature:age,value:20], 
    [id:2017,feature:city,value:paris], 
    [id:3017,feature:country,value:france] ] 

, и я хочу, чтобы получить следующее JsonObject:

"person":{ 
    "age":20, 
    "city":paris, 
    "country":france 
} 

Я хочу, чтобы преобразовать значение JsonSluperfeature в области JsonObject

ответ

0

Настоящая Карта, а не "Объект JsonSlurper"

Если у вас есть что-то вроде:

def object = [[id:5017,feature:'age',value:20],[id:2017,feature:'city',value:'paris'],[id:3017,feature:'country',value:'france']] 

Тогда просто сделать:

def json = new JsonBuilder(object).toPrettyString() 

Тогда json будет довольно JSON представление, как:

[ 
    { 
     "id": 5017, 
     "feature": "age", 
     "value": 20 
    }, 
    { 
     "id": 2017, 
     "feature": "city", 
     "value": "paris" 
    }, 
    { 
     "id": 3017, 
     "feature": "country", 
     "value": "france" 
    } 
] 

Чтобы сделать преобразование, просто сделайте:

def transformed = object.collectEntries { [it.feature, it.value] } 
def json = new JsonBuilder(transformed).toPrettyString() 
+0

Отлично, он хорошо работает –

Смежные вопросы