Печать JSONObject в GString в Groovy не использует JSONObject.toString ()? - PullRequest
0 голосов
/ 28 февраля 2020

Я пытался использовать оператор 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.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...