Groovy - Построение JSON из строки
Я использую Groovy, я пытался создать простую функцию, которая будет создавать объект Json из предоставленной строки Json, затем я пытаюсь напечатать эту строку, но, к сожалению, он добавляет квадратные скобки к выводу.
Вот фрагмент из моего кода:
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());
И вот вывод:
{id: '111'}
["{id: '111'}"]
Он возвращает массив, а не чистый Json.
1 ответ
Решение
Если вы измените свой ввод на действительный json (с двойными кавычками вокруг ключей и значений), вы можете сделать:
import groovy.json.*
String jsonStr = '{"id": "111"}'
println new JsonBuilder(new JsonSlurper().parseText(jsonStr)).toPrettyString()
Печатать
{
"id": "111"
}