Java 如何在 for 循环之外获取一行 Json 数据
Java how can I get a row of Json data outside of the for loop
我正在使用 java 创建带有 Json 的 Web 服务,我真的被某个特定领域难倒了。我有一个 Json 数组和 Json 对象,它在 for 循环中读取 Json,但现在我如何才能在 [=35] 的第二行中读取 select 项=] 在 for 循环之外?也许我的代码示例会有所帮助,我的 json 列表是动态的,但这是格式
[{"state":"LA","city":"Kisatchie"},{"state":"KS", "city":"Kismet"}]
现在我用这段代码阅读了上面的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 中的一些数据用于下拉菜单 selection 并且一旦用户点击一个项目我想显示所有Json 行的信息。我显然有比上面显示的更多 Json 项。我确实知道这个 jobject = jArray.getJSONObject(i); 正在对项目进行编号,但我不知道如何将其从 for 循环中拉出任何建议都很好
由于 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 jsonObject = jArray.getJSONObject(1);
顺便说一下,我更喜欢使用 Jackson 库并将我的 json 直接映射到某些 class。您可以参考@mkyong example。
我正在使用 java 创建带有 Json 的 Web 服务,我真的被某个特定领域难倒了。我有一个 Json 数组和 Json 对象,它在 for 循环中读取 Json,但现在我如何才能在 [=35] 的第二行中读取 select 项=] 在 for 循环之外?也许我的代码示例会有所帮助,我的 json 列表是动态的,但这是格式
[{"state":"LA","city":"Kisatchie"},{"state":"KS", "city":"Kismet"}]
现在我用这段代码阅读了上面的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 中的一些数据用于下拉菜单 selection 并且一旦用户点击一个项目我想显示所有Json 行的信息。我显然有比上面显示的更多 Json 项。我确实知道这个 jobject = jArray.getJSONObject(i); 正在对项目进行编号,但我不知道如何将其从 for 循环中拉出任何建议都很好
由于 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 jsonObject = jArray.getJSONObject(1);
顺便说一下,我更喜欢使用 Jackson 库并将我的 json 直接映射到某些 class。您可以参考@mkyong example。