2015-10-20 4 views
1

Я использую Groovy, я попытался создать простую функцию, которая построит объект Json из предоставленной строки Json, тогда я пытаюсь напечатать эту строку, но, к сожалению, это добавляет Square скобки к выходу.Groovy - Построение json из String

Вот отрывок из моего кода:

def JsonBuilder ConstructJsonObject (jsonStr) { 
    def jsonToReturn = new JsonBuilder(); 
    def root = jsonToReturn(jsonStr); 
    return jsonToReturn; 
} 

String jsonStr = "{id: '111'}"; 
println(jsonStr); 
def jsonObject = ConstructJsonObject(jsonStr); 
println(jsonObject.toPrettyString()); 

И вот результат:

{идентификатор: '111'}

[ "{ID: '111'}" ]

Он возвращает массив, а не чистый Json.

+0

Вы пробовали JsonSlurper? Если вы хотите разобрать JSON из строки: http://www.groovy-lang.org/json.html – rhinds

ответ

3

Если изменить ввод в силе JSON (двойные кавычки круглыми клавишами и значениями), вы можете сделать:

import groovy.json.* 

String jsonStr = '{"id": "111"}' 
println new JsonBuilder(new JsonSlurper().parseText(jsonStr)).toPrettyString() 

Для печати

{ 
    "id": "111" 
} 
+0

Спасибо, он отлично работает – user3502786

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