Java如何在for循环之外获取一行Json数据

Java如何在for循环之外获取一行Json数据,java,arrays,json,jsonobject,Java,Arrays,Json,Jsonobject,我正在使用java创建一个带有Json的web服务,在某个特定领域我真的遇到了麻烦。我有一个在for循环中读取Json的Jsonarray和JsonObject,但是现在我如何在for循环之外的Json的第二行中选择项目呢?也许我的代码示例会有所帮助,我的json列表是动态的,但这是格式 [{“州”:“洛杉矶”、“城市”:“基萨奇”},{“州”:“KS”、“城市”:“基萨米特”}] 现在我用下面的代码阅读了上面的json // the total String has the wh

我正在使用java创建一个带有Json的web服务,在某个特定领域我真的遇到了麻烦。我有一个在for循环中读取Json的Jsonarray和JsonObject,但是现在我如何在for循环之外的Json的第二行中选择项目呢?也许我的代码示例会有所帮助,我的json列表是动态的,但这是格式

[{“州”:“洛杉矶”、“城市”:“基萨奇”},{“州”:“KS”、“城市”:“基萨米特”}]

现在我用下面的代码阅读了上面的json

       // the total String has the whole Json data
      JSONObject jsonn = new JSONObject(total);

              JSONArray jArray = jsonn.getJSONArray("location_update");
            JSONObject jobject = null;
   String city="";String state="";
            JSONArray sss = new JSONArray();
            for (int i = 0; i < jArray.length(); i++) {
                jobject = jArray.getJSONObject(i);
                city+= jobject.getString("city");
                state+= jobject.getString("state");
                sss.put(jobject);
            }
       // How can I for example get Row 2 of Json here outside the for loop
       // Row 2 is this data
       // {state":"KS","city":"Kismet"}
//整个字符串包含整个Json数据
JSONObject jsonn=新JSONObject(总计);
JSONArray jArray=jsonn.getJSONArray(“位置更新”);
JSONObject jobject=null;
字符串城市=”;字符串状态=”;
JSONArray sss=新的JSONArray();
for(int i=0;i

我需要这个,因为上面Json中的一些数据用于下拉选择菜单,一旦用户单击某个项目,我就会显示该行Json上的所有信息。显然,我有比上面显示的更多的Json项目。我知道这个jobject=jArray.getJSONObject(I);正在对项目进行编号,但我不知道如何才能将其从for循环中拉出任何建议都会很好

因为Java从
0开始编号,选择第二个数组元素如下所示:

JSONArray jArray = jsonn.getJSONArray("location_update");
JSONObject jobject = jArray.getJSONObject(1);

当Java从
0
开始编号时,选择第二个数组元素如下所示:

JSONArray jArray = jsonn.getJSONArray("location_update");
JSONObject jobject = jArray.getJSONObject(1);

如果需要阵列中的第二个对象:

JSONObject jsonn = new JSONObject(total);
JSONArray jArray = jsonn.getJSONArray("location_update");
jobject = jArray.getJSONObject(1);
如果范围中已经有jsonn或jArray,那么您只需要:

jobject = jArray.getJSONObject(1);

如果需要阵列中的第二个对象:

JSONObject jsonn = new JSONObject(total);
JSONArray jArray = jsonn.getJSONArray("location_update");
jobject = jArray.getJSONObject(1);
如果范围中已经有jsonn或jArray,那么您只需要:

jobject = jArray.getJSONObject(1);

你在外面试过这个吗

JSONObject jsonObject = jArray.getJSONObject(1);


顺便说一句,我更喜欢使用Jackson库并将我的json直接映射到某个类。你可以通过@mkyong引用它。

你尝试过这个外部for循环吗

JSONObject jsonObject = jArray.getJSONObject(1);


顺便说一句,我更喜欢使用Jackson库,并将我的json直接映射到某个类。你可以通过@mkyong来引用它。

我可以提出一些建议吗?不要浪费时间在这个笨拙的json库上。使用Jackson,它是一个更好、更直观、更强大的Java json库。我还想补充一点,你应该展示一小部分精确的json库你输入到
JSONObject
的数据。我甚至不知道下面的答案是如何验证他们的解决方案的。我将调查Jackson,因为我已经听了很多关于它的信息。你的权利,我应该发布更多的数据,只是我正在使用Android Studio,数据驻留在另一个IDE中,我使用它来实现restful api。我将我会从现在开始。我可以提出一些建议吗?不要浪费时间在这个笨拙的JSON库上。使用Jackson,它是一个更好、更直观、功能更强大的Java JSON库。我还想补充一点,你应该显示你输入到
JSONObject
的确切数据的一小部分。我甚至不知道下面的答案是如何验证的y他们的解决方案。我会调查Jackson,因为我已经听说过很多关于它的事情。你的权利我应该发布更多的数据,只是我使用的是Android Studio,数据驻留在另一个IDE中,我使用它来实现restful api。从现在开始我会的。谢谢你,那是完美的谢谢你,那是完美的谢谢演示如何做到这一点,谢谢感谢您演示如何使用它,非常感谢。是的,我刚刚完成并解决了它,我将把Json转换成Jackson,因为人们都说它更有用。这取决于您使用的框架。在某些框架中(如Spring mvc)您可以通过做一些更改直接将json映射到使用jackson的类。是的,我刚刚做了并解决了它,我将把json转换为jackson,因为人们说它更有用。这取决于您使用的框架。在某些框架(如Spring mvc)中,您可以通过做一些更改直接将json映射到使用jackson的类。