有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何解析JSON并将其值转换为数组?

public static void parseProfilesJson(String the_json){
       try {
            JSONObject myjson = new JSONObject(the_json);

            JSONArray nameArray = myjson.names();
            JSONArray valArray = myjson.toJSONArray(nameArray);
            for(int i=0;i<valArray.length();i++)
            {
                String p = nameArray.getString(i) + "," + ValArray.getString(i);
                Log.i("p",p);
            }       

        } catch (JSONException e) {
                e.printStackTrace();
        }
    }

如您所见,此示例代码将打印出JSON的,然后是JSON的

如果json是这样的,它会打印配置文件,john

{'profiles':'john'}

太酷了。这很好,因为我可以处理这些变量。然而,如果JSON是这样的呢:

{'profiles': [{'name':'john', 'age': 44}, {'name':'Alex','age':11}]}

在这种情况下,整个值就是数组。基本上,我只想获取该数组(在本例中是“值”)。。。并将其转换为JAVA可以使用的实际数组。我该怎么做?谢谢


共 (1) 个答案

  1. # 1 楼答案

    您可以选择快速json解析器来满足您的需求

    快速json解析器非常直接、灵活、快速且可定制。试试这个

    [快速json解析器](https://code.google.com/p/quick-json/) -快速json功能-

    • 符合JSON规范(RFC4627)

    • 高性能JSON解析器

    • 支持灵活/可配置的解析方法

    • 任何JSON继承权的键/值对的可配置验证

    • 易于使用#脚印非常少

    • 引发开发人员友好且易于跟踪的异常

    • 可插拔的自定义验证支持-在遇到自定义验证程序时,可以通过配置自定义验证程序来验证密钥/值

    • 验证和非验证解析器支持

    • 支持使用快速JSON验证解析器的两种配置(JSON/XML)

    • 需要JDK 1.5#不依赖外部库

    • 支持通过对象序列化生成Json

    • 在解析过程中支持集合类型选择

    例如

    JsonParserFactory factory=JsonParserFactory.getInstance();
    JSONParser parser=factory.newJsonParser();
    Map jsonMap=parser.parseJson(jsonString);