Java 使用Android本机类进行JSON解析
我想使用原生Android org.JSON解析JSON文件 JSON很复杂,没有预定义的结构。它可以包含一个键的多个嵌套级别和另一个键的一个值。我可以用任何类型的结构定义任意数量的键值对 我需要把这个转换成字典。我不能使用任何第三方库,如Jackson或Gson(出于我不想在此讨论的原因)。我知道使用这些库提供的公共API可以很容易地完成这项工作 如果我想自己做这件事(也许使用org.json),最好的方法是什么?我是否需要读取每个值,检查它是一个JSONArray/JSONObject还是一个值,然后执行递归?或者我可以使用反射读取JSONObject类中的映射并使用它吗Java 使用Android本机类进行JSON解析,java,android,json,parsing,Java,Android,Json,Parsing,我想使用原生Android org.JSON解析JSON文件 JSON很复杂,没有预定义的结构。它可以包含一个键的多个嵌套级别和另一个键的一个值。我可以用任何类型的结构定义任意数量的键值对 我需要把这个转换成字典。我不能使用任何第三方库,如Jackson或Gson(出于我不想在此讨论的原因)。我知道使用这些库提供的公共API可以很容易地完成这项工作 如果我想自己做这件事(也许使用org.json),最好的方法是什么?我是否需要读取每个值,检查它是一个JSONArray/JSONObject还是一
感谢您的帮助。谢谢 以下是一个让您开始学习的片段:
Iterator<?> keys = jsonData.keys();
while( keys.hasNext() ){
String key = (String)keys.next();
String value = jsonData.getString(key);
}
然后使用递归来解析嵌套对象
祝你好运
if (item instanceof JSONArray)
{
JSONArray jsonArray = (JSONArray) item;
}
else
{
JSONObject jsonObject = (JSONObject) item;
}