我對於如何解決似乎與JSONStringer類有關的一些核心限制有點困惑。我知道JSONStringer是爲了將JSON鏈接在一起,而不是完全形成它,但是在一個函數只返回一個JSONStringer的情況下,我發現我的手非常緊密。我想執行以下任一操作 -在Java中,有沒有辦法從JSONObject轉到JSONStringer,反之亦然?
追加到現有結構 - 請參見下文。第一個頂層對象(),其中的所有鍵/值和endObject()都在方法的範圍內,那麼在事實之後如何修改JSONStringer呢?試圖添加第二個obect()讓我得到一個JSONException:放錯位置的對象。
JSONStringer json = new JSONStringer(); json.object(); json.key("stuff").value("1") .key("name").value("2") .key("type_name").value("3") .key("type").value("4"); json.endObject(); json.object().key("hi").value("hi2").endObject();
修改現有結構I.E.從方法返回後,在上面添加
json
以內的另一個密鑰。從任意JSON創建一個JSONStringer。我知道這是JSONObject應該用於的目的,但是令人沮喪的是,無法在兩者之間移動,特別是當兩者都成爲一個String的花哨結構化包裝時!