Я пытался использовать оператор println
для печати некоторых JSONObject
.
Я обнаружил, что следующие две команды println
возвращают разные результаты при работе в консоли groovy:
@Grab(group='net.sf.json-lib', module='json-lib', version='2.4', classifier='jdk15')
import net.sf.json.JSONObject
JSONObject foo = JSONObject.fromObject([foo: 'bar'])
println foo
println "$foo"
println foo.toString()
вывод:
[foo:bar]
[foo:bar]
{"foo":"bar"}
Я пробовал это с использованием groovy 2.5.0. Согласно официальной Groovy документации $foo
предполагается звонить foo.toString()
. Смотрите раздел 4.4.1. Строковая интерполяция ': https://groovy-lang.org/syntax.html#_double_quoted_string
Примечание
Мне известно, что существуют другие методы, имеющие дело с JSON объектами в Groovy. Однако я использую другую библиотеку, которая использует JSONObject
s для ввода / вывода. Поэтому я тоже должен использовать класс JSONObject
.
Есть идеи?