如何使用moshi创建复杂的json而不需要定义类?
在gson中,我可以使用JsonElement来格式化一个复杂的json,像(在kotlin中):
val objIDonotWantToDefine = JsonObject() objIDonotWantToDefine.addProperty("objName", "objIDonotWantToDefine") val playerJsonArray = JsonArray() for ((name, age) in players) { val player = JsonObject() player.addProperty("name", name) player.addProperty("age", age) playerJsonArray.add(player) } objIDonotWantToDefine.add("players", playerJsonArray) val jsonStringIWant = GsonBuilder().create().toJson(objIDonotWantToDefine)
我知道我可以使用JSONWriter在莫西做到这一点。 但有没有一个简单的方法来做到这一点?
感谢@Eric Cochran,我在这里发布解决方案演示:
说你想创建像这样的JSON:
{ "team": { "bestPlayers": [ { "name": "kobe", "age": "20" }, { "name": "shaq", "age": "30" } ], "name": "lakers", "playerCount": 2 }, "age": 999, "description": "hi, I'm a big nested json object" }
那么你可以这样编码:
val myNestedObj : MutableMap = LinkedHashMap() myNestedObj.put("description", "hi, I'm a big nested json object") myNestedObj.put("age", 999) val layer1Obj : MutableMap = LinkedHashMap() layer1Obj.put("playerCount", 2) layer1Obj.put("name", "lakers") val playerJsonArray : MutableList