我已经阅读了几十篇文章(这里和其他地方),要求从/到 JSON 进行解析,并且大多数人为每个类编写了他们独有的解析器。通常的答案是使用 GSON 或其他库,但由于 android 本身支持 JSON,我看不到使用第三方库的意义。
因此,我专门使用 Android JDK 库制作了自己的通用 JSONParser。它适用于具有以下字段的任何类:原始类型、字符串、一维数组或其他类。现在的问题是处理更多维度的数组。我是一个使用反射和 JSON 的菜鸟,所以也许我误解了一些东西。
您必须指定要转换 JSON 字符串的类。然后它基本上遍历类中的所有字段,并在 JSON 中搜索具有相同名称的字段。这仅适用于公共方法(现在对我来说这不是一个难题,但如果有人有改进它的想法,我也会很感激)。
当我有一个数组数组时,我的问题就出现了,我尝试了几种方法,但我无法找到处理 n 维数组的解决方案。这是我的数组方法,“TO-DO”部分是我不知道的部分。我试过使用注释行,但失败了。可能在两个方向上都是同一个问题,但我现在担心解码 JSON。
Everything solved!! Go to comments
我认为它可能对更多人有用,所以我在这里上传了整个代码。 http://pastebin.com/X7CmaxNf
从public static Object populateObjectFromJSON(Class classname, JSONObject js) {}第 65 行调用方法 insertArrayFromJSON() 。