我有一个这种类型的Json:
{
"4f958ef28ecd651095af6ab6": {
enormous JsonObject
}
}
“4f958ef28ecd651095af6ab6”每次都不同(但我知道它将是什么,因为它是我的api调用的参数),它对应于以下对象的id。我有一个Gson配置的模型来解析巨大的JsonObject。
我的问题是:使用简单
是否合适new JSONObject(jsonresponse).getJSONObject("4f958ef28ecd651095af6ab6")
从那里与Gson解析? 有没有更好的方法呢?
我想真正的问题是,“新的JSONObject(字符串)”究竟做了什么?
由于
答案 0 :(得分:0)
我建议使用hybrid(native和gson),因为我不知道如何使用GSON获取未知的jsonobject。
您需要将回复设为JSONArray,然后为每个JSONObject提供回复。您可以尝试将解析代码作为尝试。请检查JSONArray.getJSONObject(int index)
方法。然后我们可以使用GSON来获取我们的数据模型以获得已知属性。
如果您可以发布完整的json数据,我们可以给它一起解析的机会。
答案 1 :(得分:0)
你在做的是:
JSONObject
(相同的问题),以便能够访问每个密钥。您编写的代码很少,但这不是最高性能的解决方案。
最大限度地减少内存影响并加速对象的操作'创建时,您可以在stream mode中使用Gson。
通过直接读取输入流,可以避免加载太多数据,并且可以直接开始逐个填充对象。
关于JSONObject
,它将主要检查你的json字符串是否正确(或者它会抛出JsonException
)并且它会让你在搜索密钥时查看对象它的价值。