我正在使用java与Json创建一个Web服务,我真的难住在一个特定的区域。我有一个Jsonarray和JsonObject在for循环中读取Json,但是现在我怎么能在for循环之外的Json的第二行中选择项?也许我的代码的一个例子会有所帮助,我的json列表是动态的,但这是格式Java如何获得一行Json数据以外的for循环
[{“state”:“LA”,“city”:“Kisatchie”},{“state”:“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数据上面用于下拉选择菜单,并且只要用户点击某个项目,我想显示该行Json上的所有信息。我显然拥有比上面显示的更多的Json项目。我知道这个jobject = jArray.getJSONObject(i);被编号的项目,但我不知道我怎么能拉说出来的for循环的任何建议将是巨大
我可以提出一些建议吗?不要浪费你的时间与这个尴尬的JSON库。使用Jackson是一个更好,更直观,更强大的用于Java的JSON库。 – user244255
我还想补充一点,你应该已经显示了一小部分_exact_数据,你正在馈入“JSONObject”。我甚至不知道下面的答案如何能够验证他们的解决方案。 –
我会听到很多关于Jackson的信息。你的权利我应该发布更多的数据,这只是我使用的是Android Studio,而数据驻留在另一个IDE中,我使用它来获取安静的api。我从现在开始。 –