Java 从JSONArray获取无名JSON中的特定项

Java 从JSONArray获取无名JSON中的特定项,java,android,json,Java,Android,Json,请帮助我,我正在尝试从这个JSON获取一个特定的项目: [[["waves","olas",null,null,1]],null,"es",null,null,null,0.54545456,null,[["es"],null,[0.54545456],["es"]]] 这是我的代码: JSONArray jsonArray = new JSONArray(data); JSONArray jsonArray1 = jsonArray.getJSONArray(

请帮助我,我正在尝试从这个JSON获取一个特定的项目:

[[["waves","olas",null,null,1]],null,"es",null,null,null,0.54545456,null,[["es"],null,[0.54545456],["es"]]]
这是我的代码:

        JSONArray jsonArray = new JSONArray(data);
        JSONArray jsonArray1 = jsonArray.getJSONArray(0);
        JSONArray jsonArray2 = jsonArray1.getJSONArray(0);
        JSONArray jsonArray3 = jsonArray2.getJSONArray(0);
        data = jsonArray3.getString(0);
它非常凌乱,但这是我单独使用此阵列的唯一方法:

["waves","olas",null,null,1]

我试图在字符串变量中获取波形

正如我从另一个代码中看到的,它应该可以工作,但我得到了这个错误:

org.json.JSONException:0处java.lang.String类型的值波无法转换为JSONArray

试试这个:

String data = "[[[\"waves\",\"olas\",null,null,1]],null,\"es\",null,null,null,0.54545456,null,[[\"es\"],null,[0.54545456],[\"es\"]]]\n";
    JSONArray jsonArray = new JSONArray(data);
    JSONArray jsonArray1 = jsonArray.getJSONArray(0);
    JSONArray jsonArray2 = jsonArray1.getJSONArray(0);
    System.out.println(jsonArray2.getString(0));
    System.out.println(jsonArray2.getString(1));

你想从这个json中得到什么?虽然这个json字符串是一个有效的字符串,但我建议你开始使用json对象,因为这会使你的数据更具表现力。我试图在字符串变量中获取波形确定这不是我的意思,但它帮助我发现了问题,这行代码是:JSONArray jsonArray3=jsonArray2.getJSONArray0;真是没用,tnx兄弟!