Я думаю, что основная проблема здесь в том, что вы рассматриваете только конкретный json, который вы анализируете, у вас вполне может быть ссылка на один узел в объекте JSON, в котором есть другие объекты, например, рассмотрите следующее :
{
foo: "bar",
bar: {
baz: "42",
},
}
Если бы вы использовали json.get("foo")
, он бы возвратил объект, который представляет строку, а если вы сделали json.getString("foo")
, он должен (в теории) также быть строкой
Но что, если вы сделали json.getString("bar")
?
Вы не можете представить это как строку, это объект!